2013-11-03 53 views
9

我想使用CGImageCreateWithImageInRect從圖像中獲取子圖像,但它無法正常工作。它從圖像中的隨機位置返回圖像,而不是我指定的圖像。請看下面的圖片;CGImageCreateWithImageInRect工作不正常

enter image description here

我的代碼是:

CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], CGRectMake(524, 1331, 600, 600)); 
UIImage *croppedImage = [UIImage imageWithCGImage:imageRef]; 
CGImageRelease(imageRef); 

但是,這並不工作。我究竟做錯了什麼?

謝謝!

+1

除了@ hALR的的回答,請注意,y軸默認情況下,核芯顯卡翻轉,所以你可能想在這裏Ÿ= 0。 –

+0

Upvote for cleveland :) – MobileMon

回答

6

很可能您的圖像具有爲您設置的UIImageOrientation,與您所期望的不同。 iOS將正確顯示圖像,但圖像將存儲在側面(因爲缺少更好的術語)。

所以,當你說給我在x,y開始的矩形,你會得到y,x,或者是一些隨機的瘋狂,因爲你正在訪問一個超出正常範圍的矩形。

This answer有關修復方向的討論。