我正在尝试使用Bit Miracle libtiff更改tiff图像的分辨率。以下是代码段。当我这样做,tiff图像分辨率改变,但其他tiff参数消失了,我无法打开tiff文件。如果我在这里做错了,你能帮忙吗?
using (Tiff image = Tiff.Open(fileName, "a"))
{
image.SetField(TiffTag.XRESOLUTION, 200);
image.SetField(TiffTag.YRESOLUTION, 300);
image.WriteDirectory();
}
答案 0 :(得分:2)
请注意,更改TiffTag.XRESOLUTION
或TiffTag.YRESOLUTION
无法更改图片数据,只会更改观看者或打印机解释数据的方式。
至于代码本身,你应该:
在调用SetDirectory(0)
方法之前调用SetField
。这是因为你以附加模式打开文件。
使用RewriteDirectory
代替WriteDirectory
。否则,您可能会损坏图像数据。