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