我正在使用 libtiff.net 库使用以下标签对来自 twain 投诉扫描器的字节进行编码。
扫描仪设置
_twain32.SetCap(TwCap.IUnits, TwUnits.Inches);
_twain32.SetCap(TwCap.IPixelType, TwPixelType.BW);
_twain32.SetCap(TwCap.BitDepth, 1);
Tiff 设置
_tiffOutput = Tiff.Open(fileName, "w");
_tiffOutput.SetField(TiffTag.IMAGEWIDTH, width);
_tiffOutput.SetField(TiffTag.IMAGELENGTH, length);
_tiffOutput.SetField(TiffTag.IMAGEWIDTH, width);
_tiffOutput.SetField(TiffTag.SAMPLESPERPIXEL, 1);
_tiffOutput.SetField(TiffTag.BITSPERSAMPLE, 1);
_tiffOutput.SetField(TiffTag.ROWSPERSTRIP, length);
_tiffOutput.SetField(TiffTag.XRESOLUTION, dpiX);
_tiffOutput.SetField(TiffTag.YRESOLUTION, dpiY);
_tiffOutput.SetField(TiffTag.SUBFILETYPE, 0);
_tiffOutput.SetField(TiffTag.RESOLUTIONUNIT, ResUnit.INCH);
_tiffOutput.SetField(TiffTag.PLANARCONFIG, PlanarConfig.CONTIG);
_tiffOutput.SetField(TiffTag.PHOTOMETRIC, Photometric.MINISWHITE);
_tiffOutput.SetField(TiffTag.COMPRESSION, Compression.CCITTFAX4);
_tiffOutput.SetField(TiffTag.GROUP4OPTIONS, Group3Opt.FILLBITS);
_tiffOutput.SetField(TiffTag.FILLORDER, FillOrder.LSB2MSB);
我遇到的问题是_tiffOutput.SetField(TiffTag.GROUP4OPTIONS, Group3Opt.FILLBITS);
它没有填充到字节边界,根据
https://bitmiracle.github.io/libtiff.net/html/e00d6851-cf09-287f-638b-fc62c498351a.htm和https:/ /bitmiracle.github.io/libtiff.net/html/004b29cb-3828-19ac-b924-95671b477f08.htm。
图像在查看时正确显示并且没有产生错误。我还使用 AWare Systems TiffTagViewer 来验证处理后的 tiff 图像。Compression[Group 4 Fax (CCITTFAX4)] 和 Group4Options[4 (FILLBITS)] 已被验证正确,但 ImageWidth 和 ImageLength 不在字节边界上。
谁能看到我错过了什么?