簡體   English   中英

iPhone:從UIImagePickerController調整圖像大小時出現問題

[英]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類別有助於以正確的方式調整圖像大小,而不用重新發明輪子。 這就是我使用的,效果很好。

正確調整UIImage的大小

至於性能問題,您可以在后台調用resize方法,或將其放入操作中以釋放主線程的工作量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM