2015-11-06 62 views
0

我試圖從UIImagePickerController中獲取圖片,但圖片正在以原始圖片的形式收到,並且它的體積很大,而且放緩了我的應用。我怎樣才能在這種情況下,PNG表示:如何從UIImagePickerController獲取PNG表示?

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 
     let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage 
     treatmentProtocolPhoto.image = selectedImage 
     dismissViewControllerAnimated(true, completion: nil) 
    } 

我希望在這個問題上的任何幫助。

+0

我認爲你不能這樣做,因爲'UIImagePickerController'給你一個原始圖像。 –

+0

但你可以在得到圖像之後做到這一點,而不是使用'itemData = UIImagePNGRepresentation();''給你NSData。 –

回答

2

試試這個:

let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage 
let imgData : NSData = UIImagePNGRepresentation(selectedImage)! 
treatmentProtocolPhoto.image = UIImage(data: imgData)! 
dismissViewControllerAnimated(true, completion: nil) 
+0

非常感謝! –

+0

歡迎!很高興幫助 – iAnurag

+1

@RamiAmmoun yiu應該使用警衛或者如果讓它安全地解包它而不是強迫解包它 –

1

你可以得到PNG版本:

UIImagePNGRepresentation(selectedImage)