0

我正在尝试使用 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();
}
4

1 回答 1

2

请注意,更改TiffTag.XRESOLUTIONTiffTag.YRESOLUTION不会更改图像数据,只会更改查看器或打印机解释数据的方式。

至于代码本身,您应该:

  • 在调用方法SetDirectory(0)之前调用SetField。那是因为您以附加模式打开文件。

  • 使用RewriteDirectory而不是WriteDirectory. 否则您可能会损坏图像数据。

于 2014-09-19T16:46:22.013 回答