如何使用Photos框架在iOS 9中获取图像元数据

4

我希望能够使用Swift中的UIImagePickerController显示图像元数据。从相册中选择图像后,将在imageView中显示图像以及元数据,如PixelHeight,PixelWidth,PixelXDimension,PixelYDimension,Coordinates,Size,Date Created和Imagename。


2
可能是通过UIImagepickerController在Swift中获取元数据的重复问题。 - Scriptable
1个回答

6

首先,您可以从UIImagePickerController获取info [UIImagePickerControllerReferenceURL]中的信息。然后您可以执行以下操作:

let assetURL = info[UIImagePickerControllerReferenceURL] as! NSURL
let asset = PHAsset.fetchAssetsWithALAssetURLs([assetURL], options: nil)
guard let result = asset.firstObject where result is PHAsset else {
        return
    }

let imageManager = PHImageManager.defaultManager()
imageManager.requestImageDataForAsset(result as! PHAsset, options: nil, resultHandler:{
        (data, responseString, imageOriet, info) -> Void in
        let imageData: NSData = data!
        if let imageSource = CGImageSourceCreateWithData(imageData, nil) {
            let imageProperties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, nil)! as NSDictionary
            //now you have got meta data in imageProperties, you can display PixelHeight, PixelWidth, etc.
        }
    })

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接