将UIImage的大小更改为所需大小

时间:2017-06-14 11:14:37

标签: ios objective-c uiimage

我正在使用此代码来更改图像的大小。

- (UIImage *)scaledImage:(UIImage *)image size:(CGSize)size {
    UIGraphicsBeginImageContextWithOptions(size, NO, 1.0);
    [image drawInRect:CGRectMake(0, 0, size.width, size.height)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return newImage;
}

我目前需要在运行时更改100个图像的大小,但此代码会导致延迟。加载时间很长。 有没有更快的方法来调整UIImage的大小?

由于

2 个答案:

答案 0 :(得分:0)

试试这段代码:

CGRect rect = CGRectMake(0,0,75,75);
UIGraphicsBeginImageContext( rect.size );
[yourCurrentOriginalImage drawInRect:rect];
UIImage *picture1 = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

NSData *imageData = UIImagePNGRepresentation(picture1);
UIImage *img=[UIImage imageWithData:imageData];

答案 1 :(得分:0)

'- (UIImage *)scaledImage:(UIImage *)image size:(CGSize)size {
    CGRect rect = CGRectMake(0,0, size.width,size.height);
    UIGraphicsBeginImageContext( size );
    [image drawInRect:rect];
    UIImage *picture1 = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    NSData *imageData = UIImagePNGRepresentation(picture1);
    UIImage *img=[UIImage imageWithData:imageData];
    return img;
}'