public void Setup() { TiffGray8[] image = new TiffGray8[8192 * 8192]; _image = TiffPixelBuffer.WrapReadOnly(image, 8192, 8192); var builder = new TiffImageEncoderBuilder(); builder.PhotometricInterpretation = TiffPhotometricInterpretation.WhiteIsZero; builder.Compression = Compression; builder.MaxDegreeOfParallelism = DegreeOfParallelism; // Strip encoder builder.IsTiled = false; builder.RowsPerStrip = 256; _stripEncoder = builder.Build <TiffGray8>(); // Tile encoder builder.IsTiled = false; builder.TileSize = new TiffSize(512, 512); _tileEncoder = builder.Build <TiffGray8>(); }
private static async Task GenerateImageAsync(Stream stream, TiffImageEncoderBuilder builder, TiffPixelBuffer <TiffGray8> image) { using (TiffFileWriter writer = await TiffFileWriter.OpenAsync(stream, true)) { TiffStreamOffset ifdOffset; using (TiffImageFileDirectoryWriter ifdWriter = writer.CreateImageFileDirectory()) { TiffImageEncoder <TiffGray8> encoder = builder.Build <TiffGray8>(); await encoder.EncodeAsync(ifdWriter, image); ifdOffset = await ifdWriter.FlushAsync(); } writer.SetFirstImageFileDirectoryOffset(ifdOffset); await writer.FlushAsync(); } }