我对iOS设计中的UIImage方向感到困惑。 我只是使用故事板将我的iPhone拍摄的图像加载到UIImageView中,并期望它在模拟器中显示完全相同。然而,它旋转。 (我选择内容模式为方面适合)
我尝试使用从互联网上下载的其他图像,所有这些图像都可以正常工作,但是相机拍摄的图像却是正确的。
任何人都知道为什么会这样?
编辑:
我尝试打印出imageOrientation属性我的例子。它显示0,这是.up。
的默认值似乎图片没有旋转但在故事板和模拟器中看起来不同。
示例如下:
答案 0 :(得分:0)
UIImage
会自动轮换,开发人员应该对其进行纠正。
使用以下功能以正确的方向获取图像。
UIImage *imageToDisplay = [UIImage imageWithCGImage:[originalImage CGImage] scale:[originalImage scale] orientation: UIImageOrientationUp];
答案 1 :(得分:0)
UIImage有一个属性imageOrientation,它指示UIImageView和其他UIImage使用者旋转原始图像数据。这个标志很有可能被保存到上传的jpeg图像中的默认数据中,但是用于查看它的程序并不尊重该标志。尝试从UIImage Picker Controller获取图像时更改方向。
要在上传时旋转UIImage以正确显示,您可以使用类别。在Objective C中检查@Anomie's ans。如果您使用的是Swift,则可以使用相同的逻辑为UIImage创建扩展。