通过Orientation标签旋转TIFF图像

时间:2018-01-29 16:03:34

标签: c# image winforms rotation tiff

我有一个TIFF文件,其Orientation标签设置为TOPLEFT(第0行代表图像的可视顶部,第0列代表视觉左侧)。我创建一个新的TIFF并将其Orientation标记设置为RIGHTTOP(第0行代表图像的可视右侧,第0列代表可视顶部)并使用如下代码填充原始数据:

  byte[] scanline = new byte[original_img.ScanlineSize()];
  for (int i = 0; i < height; i++)
  {
      original_img.ReadScanline(scanline, i);
      rotated_img.WriteScanline(scanline, i);
  }

那个imo会顺时针旋转90°,这就是我想要的结果。问题是,简单地设置Orientation标签不起作用,我只是得到原始图像的副本。 提取原始图像的数据并对其进行操作,然后用旋转的数据填充新图片似乎不必要地复杂化,我想避免这种情况并找到一种简单的方法。有没有像我的方法一样简单的方法,如果有,请解释,还是我必须手动旋转图像数据?

修改 我用于设置方向标记的代码是:

rotated_img.SetField(TiffTag.ORIENTATION, BitMiracle.LibTiff.Classic.Orientiation.RIGHTTOP);

也可能值得一提的是,目前我只在该环境中使用BitMiracle.LibTiff.Classic。

0 个答案:

没有答案