[英]iPhone: problems resizing image from UIImagePickerController
我想要達到的目標:
目前,我已經設置了UIImagePickerController來拍攝圖片,並將其作為小尺寸的照片返回(大約300 x 500ish像素)。
默認情況下,從圖像選擇器獲得的圖像為全分辨率-即相當大。 因此,在對此圖像進行任何處理之前,我先調整其大小:
UIGraphicsBeginImageContext(targetSize);
CGRect thumbnailRect = CGRectZero;
thumbnailRect.origin = thumbnailPoint;
thumbnailRect.size.width = scaledWidth;
thumbnailRect.size.height = scaledHeight;
[sourceImage drawInRect:thumbnailRect];
newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
-
不好的地方:
此步驟非常耗費資源,實際上,它會在操作過程中凍結應用幾秒鍾。 我還沒有在iPhone 4上嘗試過它,但是我可以想象,只有高清圖像會更糟。
除了占用大量資源外,獲取這張照片似乎還會在短時間內占用大量內存,通常會導致應用程序崩潰。 我假設此內存來自最初捕獲的大型圖像。
-
所以:
從UIImagePicker獲取小圖像的最佳/標准方法是什么? 我不希望我的應用因CPU或RAM使用率高而凍結或崩潰。 當然必須有更好,更穩定和有效的方法嗎?
任何幫助深表感謝 :)
您可能會發現Trevor的UIImage類別有助於以正確的方式調整圖像大小,而不用重新發明輪子。 這就是我使用的,效果很好。
至於性能問題,您可以在后台調用resize方法,或將其放入操作中以釋放主線程的工作量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.