简体   繁体   English

在libtiff.net中构建tiff头

[英]Building a tiff header in libtiff.net

I am reading a CG4 (CALS Group IV bitmap) file and extracted the image data as an array of bytes. 我正在读取CG4(CALS组IV位图)文件,并将图像数据提取为字节数组。 The image data is compressed using CCITT Group 4 (T.6) compression. 使用CCITT第4组(T.6)压缩来压缩图像数据。

I don't believe libtiff.net has methods to just un-compress a set of compressed bytes. 我不相信libtiff.net具有仅解压缩一组压缩字节的方法。 Is there a way to build a tiff header specifying CCITT Group 4 compression, and then slot in my existing compressed image data, to produce a valid tiff file? 有没有一种方法可以构建一个指定CCITT 4组压缩的tiff头,然后放入现有的压缩图像数据中以生成有效的tiff文件?

Here is a sample that shows how to create black-and-white TIFF from your bytes 这是一个示例,显示了如何从您的字节中创建黑白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);
}

Please note that you must provide correct width, height, resolution and other values. 请注意,您必须提供正确的宽度,高度,分辨率和其他值。 And ROWSPERSTRIP must be correct too. 而且ROWSPERSTRIP必须正确。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM