我正在加载带有任意EXIF定向数据(8个方向之一)标记的JPG。我下载了八个示例图像文件从这里开始 (从这篇博客文章链接)。
图8表示EXIF标记8,这是一个90度顺时针方向旋转。这可以通过在哑巴观众中看到这张图片来证实,比如画笔。
但是,当我将其加载到iOS项目中的iOS中,并在其上调用-imageOrientation时,就会得到UIImageOrientationLeft。根据医生来了的说法
UIImageOrientationLeft 该图像旋转90度counterclockwise,如下图所示。
...which不是底层图像的样子。
与之相反的是EXIF方向6,我希望它显示为左,但它看起来是右边的。
医生来错了吗?我漏掉了什么明显的东西吗?谢谢。
发布于 2011-08-29 23:03:34
有一段时间我也有同样的问题。UIImageOrientation文档似乎描述了如果应用指定的方向,垂直图像会发生什么情况。例如,如果你拍摄一个垂直的图像并应用UIImageOrientationLeft,它就会逆时针旋转90°。
另一方面,exif文档描述了图像数据产生垂直图像的方向。因此,对于EXIF代码8,图像数据必须顺时针旋转90°才能显示垂直图像。
事实证明,只有UIImageOrientationLeft和UIImageOrientationRight存在这个问题,因为所有其他问题的结果都是相同的。
发布于 2011-09-04 06:27:58
我认为问题在于原点(适用旋转的地方)。当使用UIImage时,原点位于左上角,当使用CGImage时,原点位于左下角。
发布于 2011-09-05 08:23:36
我找到了一个有趣的答案:http://blog.logichigh.com/2008/06/05/uiimage-fix/
https://stackoverflow.com/questions/7209686
复制相似问题