【发布时间】:2017-01-22 03:22:15
【问题描述】:
我的应用从相机胶卷中挑选一张照片并将其存储为NSData。
当我需要在我的应用中显示图像时,我会从 NSData 创建 UIImage。
如果原始照片是我从网络上保存的图像,谷歌图像等,UIImage 具有正确的方向,如果原始照片是我用 iPhone 拍摄的人像照片,UIImage 旋转 90 度离开了。
我无法想象如何知道哪些照片需要旋转,哪些是可以的。
感谢任何帮助。
我用来在 coredata 实体中将图像保存为 NSData 的代码:
asset.requestContentEditingInputWithOptions(PHContentEditingInputRequestOptions()) { (input, info) in
if let imgurl = input?.fullSizeImageURL {
let img = UIImage(data: NSData(contentsOfURL: imgurl)!)
self.gearImage = img
self.photoImageView.contentMode = UIViewContentMode.ScaleAspectFill
self.photoImageView.image = self.gearImage
}
}
然后我将 NSData 保存在 coredata 中:
if self.gearImage != nil {
newItem.cgPhoto = UIImagePNGRepresentation(self.gearImage!)
}
当我必须显示图像时,我会获取 coredata 实体并:
let img = UIImage(data: self.imageData)
这就是问题所在。如果 phasset fullSizeImageOrientation 为 null 或 1,则图像正常,否则旋转错误。
最大
【问题讨论】:
-
请张贴代码。
标签: ios swift uiimage nsdata uiimageorientation