想要固定方向,但UIImage自动化

时间:2017-07-18 03:56:34

标签: ios iphone swift uiimageview uiimage

我对iOS设计中的UIImage方向感到困惑。 我只是使用故事板将我的iPhone拍摄的图像加载到UIImageView中,并期望它在模拟器中显示完全相同。然而,它旋转。 (我选择内容模式为方面适合)

我尝试使用从互联网上下载的其他图像,所有这些图像都可以正常工作,但是相机拍摄的图像却是正确的。

任何人都知道为什么会这样?

编辑:

我尝试打印出imageOrientation属性我的例子。它显示0,这是.up。

的默认值

似乎图片没有旋转但在故事板和模拟器中看起来不同。

示例如下:

enter image description here

enter image description here

2 个答案:

答案 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创建扩展。