图片来自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()
会改变图像的方向?如何防止这种情况?
答案 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))")
}