[objective-c]画像(UIImage)をリサイズする

iPhone Apps「魚眼フォト」などで使っている方法です。
いいと思います。

- (UIImage*)resizedImage:(UIImage *)img size:(CGSize)size{
    CGFloat widthRatio  = size.width  / img.size.width;
    CGFloat heightRatio = size.height / img.size.height;
    if (widthRatio==1.0 && heightRatio==1.0) {
        return img;
    }
    CGSize resizedSize = CGSizeMake(img.size.width*widthRatio, img.size.height*heightRatio);
    
    UIGraphicsBeginImageContext(resizedSize);
    
    [img drawInRect:CGRectMake(0, 0, (int)resizedSize.width, (int)resizedSize.height)];
    UIImage* resizedImage = UIGraphicsGetImageFromCurrentImageContext();
    
    UIGraphicsEndImageContext();
    
    return resizedImage;
}
//元の画像
UIImage*img=[UIImage imageNamed:@"hoge.png"];
CGRect*rect=CGRectMake(0.0, 0.0, 10.0, 20.0);

//リサイズした画像
UIImage*resizedImage=[self resizedImage:img rect:rect];