9

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

在此处输入图像描述

我的代码是:

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

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

谢谢!

4

2 回答 2

6

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

因此,当您说给我从 x、y 开始的 rect 时,您会得到 y、x 或一些随机的疯狂,因为您正在访问一个超出正常范围的 rect。

这个答案谈到了固定方向。

于 2013-11-03T18:03:59.140 回答
2

请参阅以下答案,您需要转换矩形或转换图像。我更喜欢转换矩形。

https://stackoverflow.com/a/21560825/2482283

于 2014-02-04T18:53:46.260 回答