在 libtiff.net 中构建 tiff 标头

本文关键字:tiff 标头 构建 libtiff net | 更新日期: 2023-09-27 18:32:18

我正在读取CG4(CALS Group IV位图)文件并将图像数据提取为字节数组。使用 CCITT 组 4 (T.6) 压缩压缩图像数据。

我不相信 libtiff.net 有办法解压缩一组压缩字节。有没有办法构建一个指定 CCITT 组 4 压缩的 tiff 标头,然后在我现有的压缩图像数据中插入,以生成有效的 tiff 文件?

在 libtiff.net 中构建 tiff 标头

下面的示例演示如何从字节创建黑白 TIFF

using (Tiff output = Tiff.Open(fileName, "w"))
{
    output.SetField(TiffTag.IMAGEWIDTH, width);
    output.SetField(TiffTag.IMAGELENGTH, height);
    output.SetField(TiffTag.SAMPLESPERPIXEL, 1);
    output.SetField(TiffTag.BITSPERSAMPLE, 8);
    output.SetField(TiffTag.ORIENTATION, Orientation.TOPLEFT);
    output.SetField(TiffTag.ROWSPERSTRIP, height);
    output.SetField(TiffTag.XRESOLUTION, 88.0);
    output.SetField(TiffTag.YRESOLUTION, 88.0);
    output.SetField(TiffTag.RESOLUTIONUNIT, ResUnit.INCH);
    output.SetField(TiffTag.PLANARCONFIG, PlanarConfig.CONTIG);
    output.SetField(TiffTag.PHOTOMETRIC, Photometric.MINISBLACK);
    output.SetField(TiffTag.COMPRESSION, Compression.CCITTFAX4);
    output.SetField(TiffTag.FILLORDER, FillOrder.MSB2LSB);
    output.WriteRawStrip(0, compressedData, compressedData.Length);
}

请注意,您必须提供正确的宽度、高度、分辨率和其他值。ROWSPERSTRIP也必须是正确的。