0
我試圖讓圖像的大小通過UIImagePicker內存問題檢查圖像尺寸
這裏挑的是代碼:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
let image = info[UIImagePickerControllerOriginalImage] as! UIImage
var imgData: NSData = NSData(data: UIImageJPEGRepresentation((image), 1)!)
var imageSize: Int = imgData.length
print("size of image in KB: %f ", Double(imageSize)/1024.0)
}
這將引發一個錯誤:
Message from Debugger: Terminated due to Memory issue.
注意:磁盤上的映像文件大小約爲75 MB。它適用於較小尺寸的圖像。
您已經有圖像,然後通過其JPEG表示形成該圖像的整個_new_版本,並且你也在內存中保存_that_,然後你從_that_中取出一個NSData,並在內存中保存_that_,當內存不足時你感到驚訝?究竟是什麼問題呢?你最終甚至想要做什麼? – matt
看到我想要基本上只顯示圖像,如果它小於30 MB的大小。所以我必須檢查大小。我理解這個問題,但無法找到解決方案。 –
我要說的一件事是:你有圖像。所以你可以檢查它的大小。你不需要檢查_else_的大小,這正是你正在做的。但我也在說:你不會「向」用戶展示一個30 MB的圖像。那會很愚蠢。屏幕無法保存這樣的圖像!您應該始終加載不超過顯示用途所需的圖像版本。 – matt