我已使用此链接中的以下代码: 如何在保持其纵横比的同时调整 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;
}
这是在我的应用程序中加载图像的方式: