IOS:减小图像大小而不降低图像质量

8
我正在在表格视图单元格中显示一张图片(图片名称保存在plist文件中)。在将其设置为单元格之前,我将图像调整大小为
imageSize = CGSizeMake(32, 32);

但是,在调整图像大小后,在Retina显示器上质量也会降低。

enter image description here

我已经将1x和@2x的两张图片都添加到项目中。

这是我将图像大小减小为32x32的方法。

+ (UIImage *)scale:(UIImage *)image toSize:(CGSize)size
{
UIGraphicsBeginImageContext(size);
[image drawInRect:CGRectMake(0, 0, size.width, size.height)];
UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return scaledImage;
}

非常感谢您能提供关于此问题的任何指导意见。
谢谢。
1个回答

19

试试这个:用 UIGraphicsBeginImageContextWithOptions(size,NO,0.0); 代替 UIGraphicsBeginImageContext(size);

按照我的理解,你正在将图像调整为32x32点(point),无论分辨率如何。而 UIGraphicsBeginImageContextWithOptions 会将图像缩放到设备屏幕的比例上,因此你可以将图像调整为32x32点,同时将其保留为视网膜显示器。

(请注意,这是我从苹果的UIKit参考文档中理解的,可能不是完全正确,但应该没问题)在这里阅读更多信息:here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接