C# 在libtiff.net中构建tiff标头

C# 在libtiff.net中构建tiff标头,c#,tiff,imaging,libtiff.net,C#,Tiff,Imaging,Libtiff.net,我正在读取CG4(CALS Group IV位图)文件,并将图像数据提取为字节数组。使用CCITT Group 4(T.6)压缩对图像数据进行压缩 我不相信libtiff.net有方法只解压缩一组压缩的字节。有没有一种方法可以构建一个指定CCITT Group 4 compression的tiff头,然后在我现有的压缩图像数据中插入插槽,以生成一个有效的tiff文件?下面是一个示例,演示如何从字节创建黑白tiff using (Tiff output = Tiff.Open(fileName,

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


我不相信libtiff.net有方法只解压缩一组压缩的字节。有没有一种方法可以构建一个指定CCITT Group 4 compression的tiff头,然后在我现有的压缩图像数据中插入插槽,以生成一个有效的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
也必须正确

BITSPERSAMPLE应设置为1谢谢。在使用WriteScanLine之前,我非常接近,没有看到WriteRawStrip方法。此外,@BitBank的正确性在于BITSPERSAMPLE应设置为1。最后一个供参考…CALS图像的Type2和JEDMICS变体由平铺(而不是条带)组成,需要与更简单的Type1文件不同的处理。谢谢,我知道Type1是一种更简单的格式。你知道有任何公开的Type2示例文件吗?这是我找到的唯一一个Type2示例:我在imaging library中编写了对读取JEDMICS C4文件的支持,并希望添加CAL Type2,但只有一个示例,我没有添加它。我从未发现有人真正使用类型2文件。谢谢链接。是的,由于样本很少,而且没有足够详细的字节结构信息,我认为我们终究不会支持类型2。