[英]iOS Swift Cannot acces EXIF data on stored photo
我需要在设备照片库中获取图片的位置。 为此,我正在尝试加载图像的Exif数据。 这是我的代码:
import ImageIO
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
let image = info[UIImagePickerControllerOriginalImage] as? UIImage
let ciImage = CIImage(image: image!)
let imageProperties = CGImageSourceCopyPropertiesAtIndex(ciImage as! CGImageSource, 0, nil) as Dictionary?
if let dict = imageProperties as? [String: Any] {
print(dict)
}
}
当我尝试在设备上运行代码时,应用崩溃。 我认为问题出在演员表中,我尝试做一些操作,但是我无法将我的UIImage
转换为CFImageSource
类型。
您不能将CIImage
(也不CGImageSource
UIImage
) CGImageSource
转换为CGImageSource
。 要创建CGImageSource
请执行以下操作:
guard let imageData = UIImageJPEGRepresentation(uiImage, 1)
else { fatalError("Error getting image data") }
guard let imageSource = CGImageSourceCreateWithData(imageData as CFData, nil)
else { fatalError("Error creating image source") }
let properties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, nil)
UIImageJPEGRepresentation
将图像返回为JPEG图像,因此uiImage
最初使用的格式并不重要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.