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

我的代码是:

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

但这是行不通的。我究竟做错了什么?

谢谢!

最佳答案

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

因此,当您说给我以x,y开头的rect时,您会得到y,x或一些随机的疯狂信息,因为您访问的是不在正常范围内的rect。

This answer讨论固定方向。

关于iphone - CGImageCreateWithImageInRect无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19755645/

10-12 14:33