UIImageのサイズを変更する最も簡単な方法は?質問する

UIImageのサイズを変更する最も簡単な方法は?質問する

iPhone アプリでカメラで写真を撮り、それを 290*390 ピクセルにサイズ変更したいです。画像のサイズを変更するには、次の方法を使用します。

UIImage *newImage = [image _imageScaledToSize:CGSizeMake(290, 390)
                         interpolationQuality:1];    

完璧に動作しますが、ドキュメント化されていない機能なので、iPhone OS4ではもう使用できません。

それで... UIImage のサイズを変更する最も簡単な方法は何でしょうか?

ベストアンサー1

最も簡単な方法は、のフレームを設定しUIImageView、をcontentModeサイズ変更オプションの 1 つに設定することです。

または、実際に画像のサイズを変更する必要がある場合は、このユーティリティ メソッドを使用できます。

+ (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
    //UIGraphicsBeginImageContext(newSize);
    // In next line, pass 0.0 to use the current device's pixel scaling factor (and thus account for Retina resolution).
    // Pass 1.0 to force exact pixel size.
    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();    
    UIGraphicsEndImageContext();
    return newImage;
}

使用例:

#import "MYUtil.h"
UIImage *myIcon = [MYUtil imageWithImage:myUIImageInstance scaledToSize:CGSizeMake(20, 20)];

おすすめ記事