CGImageCreateWithImageInRect无法正常工作

0xS*_*ina 9 iphone cocoa-touch objective-c uiimage

我试图使用CGImageCreateWithImageInRect从图像中获取子图像,但它无法正常工作.它从图像中的随机位置返回图像,而不是我指定的图像.请看下面的图片;

在此输入图像描述

我的代码是:

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

但这不起作用.我究竟做错了什么?

谢谢!

Hal*_*alR 6

您的图像可能会为其设置的UIImageOrientation与您期望的不同.iOS将正确显示图像,但图像将被侧向存储(缺少更好的术语).

因此,当你说从MM开始给我矩形时,你会得到y,x,或者一些随机的疯狂,因为你正在访问一个超出正常范围的矩形.

这个答案谈到了确定方向.