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)];