CGImageCreateWithImageInRect在使用时存在问题

9

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

enter image description here

我的代码如下:

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

但是那样行不通。我做错了什么吗?
谢谢!

1
除了@HalR的答案之外,注意Core Graphics默认情况下会翻转y轴,因此您可能想要在这里使用y = 0。 - Ben Zotto
给克利夫兰点个赞吧 :) - MobileMon
2个回答

6
很可能您的图像具有与您期望的不同的UIImageOrientation设置。iOS会正确显示图像,但图像将被存储在侧面(缺乏更好的术语)。因此,当您说“给我从x,y开始的矩形”,您将得到y,x,或者一些随机的疯狂值,因为您正在访问超出正常范围的矩形。这个答案讨论了如何修复方向问题。请参考链接:This answer

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接