Example #1
0
        private ChunkHolder <T> ReadChunk(DeletableFileStream stream, StandardChunkMetadata template)
        {
            byte[] buffer = new byte[Math.Max(4, pixelDataSize)];
            stream.Read(buffer, 0, 4);
            int width = BitConverter.ToInt32(buffer, 0);

            stream.Read(buffer, 0, 4);
            int height = BitConverter.ToInt32(buffer, 0);

            var ret = new ChunkHolder <T>(width, height,
                                          template.LatLo, template.LonLo,
                                          template.LatHi, template.LonHi,
                                          null, toDouble, fromDouble);

            for (int i = 0; i < width; i++)
            {
                for (int j = 0; j < height; j++)
                {
                    ret.Data[i][j] = ReadPixel(stream, buffer);
                }
            }

            return(ret);
        }
Example #2
0
//        protected override async Task<float> ReadPixel(DeletableFileStream stream, byte[] buffer)
        protected override float ReadPixel(DeletableFileStream stream, byte[] buffer)
        {
            //await stream.ReadAsync(buffer, 0, 4);
            stream.Read(buffer, 0, 4);
            return(BitConverter.ToSingle(buffer, 0));
        }