私のアプリはカメラから撮った画像を扱います。これらの画像のサイズをサムネイルサイズに変更して、テーブルビューのセル内に表示できるようにしたいと思います。
「オンザフライ」でのサイズ変更はかなり遅いように思われるため、ユーザーがアプリにインポートした時点でサイズを変更し、テーブルビューなどのサムネイルを使用して、フルサイズとサムネイルの両方をビジネスオブジェクトに保存することを計画していました。
これは私がサムネイルを生成するために使用するコードです:
#import "ImageUtils.h"
@implementation ImageUtils
+(UIImage*) generateThumbnailFromImage:(UIImage*)theImage
{
UIImage * thumbnail;
CGSize destinationSize = CGSizeMake(100,100);
UIGraphicsBeginImageContext(destinationSize);
[theImage drawInRect:CGRectMake(0,0,destinationSize.width, destinationSize.height)];
thumbnail = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return thumbnail;
}
@end
これは画像のサイズを正しく変更し、テーブルの応答性を大幅に向上させるように見えますが、画像のスケーリングはオフになっています。
上記は100*100のUIImageを作成しますが、AspectFitまたはAspectFillアプローチを使用するように強制するにはどうすればよいですか?
テーブルセルにあるUIImageViewは100*100なので、画像を歪ませずに、それに合わせて画像のサイズを変更する必要があります。
どんなポインタも素晴らしいでしょう!