このリンクから以下のコードを使用しました: アスペクト比を維持しながら UIImage のサイズを変更し、アスペクト比 を維持して画像のサイズを固定サイズ (100*100) に変更する方法。アプリケーションでAsyncImageViewを使用して、URL を使用して画像をロードしました。このリンクからAsyncImageViewコードを取得できます: nicklockwood / AsyncImageView
しかし、それでもそれらの画像は絞られたように見えます。この問題を解決するにはどうすればよいですか?
- (UIImage*) scaleImage:(UIImage*)image toSize:(CGSize)newSize {
CGSize scaledSize = newSize;
float scaleFactor = 1.0;
if( image.size.width > image.size.height ) {
scaleFactor = image.size.width / image.size.height;
scaledSize.width = newSize.width;
scaledSize.height = newSize.height / scaleFactor;
}
else {
scaleFactor = image.size.height / image.size.width;
scaledSize.height = newSize.height;
scaledSize.width = newSize.width / scaleFactor;
}
UIGraphicsBeginImageContextWithOptions( scaledSize, NO, 0.0 );
CGRect scaledImageRect = CGRectMake( 0.0, 0.0, scaledSize.width, scaledSize.height );
[image drawInRect:scaledImageRect];
UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return scaledImage;
}
これは、アプリケーションに画像が読み込まれる方法です。