0

我知道这听起来像是一项非常基本的任务,但我尝试过搜索等但没有结果

例如,这是我正在尝试做的一个例子

加载图像

图像映射

成图像映射成 UIImage

从 x,y 请求具有宽度和高度的图像。

例如:

-(UIImage *) loadImgFromImageMap:(UIImage *)map withRect:(CGRect)dimensions;

只是作为一个例子。例如,如果我将 {64, 0, 64, 64} 作为矩形传递,那么结果将是:

UIImage 结果

有什么建议么?:)

问候

蒂姆·埃利斯

4

1 回答 1

0

当然,一旦您发布,您会在其他地方找到答案......

对于那些寻找的人,我在这里找到了

裁剪 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];
于 2012-10-25T04:52:04.960 回答