2016-07-03 9 views
3

SwiftのUIImagePickerControllerを使用して画像メタデータを表示したいとします。 画像はギャラリーから選択され、PixelHeight、PixelWidth、PixelXDimension、PixelYDimension、座標、サイズ、作成日時、画像名などのメタデータと共にimageViewに表示されます。Photos Frameworkを使用してiOS 9で画像メタデータを取得する方法

+2

可能な複製(http://stackoverflow.com/questions/26391158/getting-metadata-in-swift-by-uiimagepickercontroller:するとこのようなことを行うことができます) – Scriptable

答えて

5

まず、UIImagePickerControllerから情報[UIImagePickerControllerReferenceURL]を取得できます。 [UIImagepickerControllerによって迅速でメタデータを取得する]の

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. 
     } 
    })