UIImagePNGRepresentation()旋转我的UIImage

时间:2015-12-09 09:58:19

标签: ios swift uiimagepickercontroller

图片来自UIImagePickerViewController

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {

    if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
        print("1: \(image)")
        if let data = UIImagePNGRepresentation(image) {
            print("2: \(UIImage(data: data))")
        }
    }
}

结果如下:

  

1:尺寸{3024,4032}方向3比例1.000000
  2:可选(尺寸{4032,3024}方向0比例1.000000)

为什么UIImagePNGRepresentation()会改变图像的方向?如何防止这种情况?

1 个答案:

答案 0 :(得分:0)

在第一种情况下,您的图像方向为UIImageOrientationRight(值3)。在第二种情况下,方向是UIImageOrientationUp值0,这是默认值。

您可以在将图像转换为数据时修复方向问题,反之亦然。

请回答这个问题 iOS UIImagePickerController result image orientation after upload

<强>更新 您可以使用上面的链接中的代码更改其方向。它不会影响上传程序。

如果您对数据格式不感兴趣,可以将其转换为JPEG格式

like if let data = UIImageJPEGRepresentation(image, 1.0) {
  print("2: \(UIImage(data: data))")
}