我有一段時間使用CGImageCreateWithImageInRect裁剪照片。我的應用程序讓用戶移動/放大圖像,直到它填充316 x 316視圖,然後我希望它裁剪框外的任何區域並將圖像保存爲UIImage。我通過獲取x和y圖像視圖原點的絕對值來確定作物的原點,因爲這將我帶回到包含圖像視圖的視圖/框的0,0。下面是代碼:CGImageCreateWithImageInRect不是正確裁剪
CGRect croppedRect = CGRectMake(fabs(widthDistanceToOrigin), fabs(HeightDistanceToOrigin), 316, 316);
CGImageRef croppedImageRef = CGImageCreateWithImageInRect(image.CGImage, croppedRect);
UIImage *croppedImage = [UIImage imageWithCGImage: croppedImageRef scale: 1/(imageScale) orientation: image.imageOrientation];
CGImageRelease(croppedImageRef);
這讓我瘋狂,我不能讓它收割我想要的區域。我已經把它正確地縮放了,但是問題似乎與作物矩形的x和y原點有關,它離它應該採取的區域有點偏離(有時我會得到奇怪的結果)。
此外,它似乎與手機相機拍攝的圖像,我必須乘以我的作物rect一切爲2,因爲它是正確的大小。很奇怪。
所以我想知道,有沒有人知道如何解決這個問題,或者有沒有人可能有更好的裁剪方式(請記住我需要裁剪照片中的一個區域)。謝謝!
請在答案中提供您的解決方案,並在系統允許時接受。 –