当然,一旦您发布,您会在其他地方找到答案......
对于那些寻找的人,我在这里找到了
裁剪 UIImage
我使用的代码基本相同,但我将其添加到 UIImage 以使事情变得简单
这里是给有兴趣的人
//The .h file
@interface UIImage (crop)
- (UIImage *)crop:(CGRect)rect;
@end
主文件
//The .m file
@implementation UIImage (crop)
- (UIImage *)crop:(CGRect)rect {
if (self.scale > 1.0f) {
rect = CGRectMake(rect.origin.x * self.scale,
rect.origin.y * self.scale,
rect.size.width * self.scale,
rect.size.height * self.scale);
}
CGImageRef imageRef = CGImageCreateWithImageInRect(self.CGImage, rect);
UIImage *result = [UIImage imageWithCGImage:imageRef scale:self.scale orientation:self.imageOrientation];
CGImageRelease(imageRef);
return result;
}
@end
现在调用它很容易。
这是一个示例:)
UIImage *image = [UIImage imageNamed:@"imgMap.png"];
CGRect frame = CGRectMake (0, 0, 40, 40); //Change this to whatever the frame should be
UIImage *cropped = [image crop:frame];