Xcode 从图像映射加载UIImage
我知道这听起来是一项非常基本的任务,但我尝试过搜索,但没有结果 例如,这里有一个我正在尝试做的例子 加载图像 将图像映射到UIImage 从x,y请求具有宽度和高度的图像 例如: 举个例子。例如,如果我将{64,0,64,64}作为rect传递,那么结果将是: 有什么建议吗?:) 问候Xcode 从图像映射加载UIImage,xcode,cocoa-touch,ios5,ios6,Xcode,Cocoa Touch,Ios5,Ios6,我知道这听起来是一项非常基本的任务,但我尝试过搜索,但没有结果 例如,这里有一个我正在尝试做的例子 加载图像 将图像映射到UIImage 从x,y请求具有宽度和高度的图像 例如: 举个例子。例如,如果我将{64,0,64,64}作为rect传递,那么结果将是: 有什么建议吗?:) 问候 蒂姆·埃利斯当然,只要你一发帖,你就会在别处找到答案 我在这里找到的 我使用的代码基本相同,但我将其添加到UIImage中以使事情变得简单 这是给感兴趣的人的 //The .h file @interfac
蒂姆·埃利斯当然,只要你一发帖,你就会在别处找到答案 我在这里找到的 我使用的代码基本相同,但我将其添加到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
现在说起来很容易
这是一个示例:)
//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];