objective-c - iOS UIImageView 缩小图像在 iPad 2 上产生锯齿图像

标签 objective-c ios ipad uiimageview

我正在使用 UIImageView 显示图像的缩略图,然后可以选择以全尺寸查看。 UIImageView 将其内容模式设置为宽高比匹配。

图像通常从大约 500 像素 x 500 像素缩小到 100 像素 x 100 像素。在视网膜 iPad 上,它们显示得非常好,而在 iPad2 上,它们的锯齿很严重,直到尺寸接近原生图像尺寸。

例子:

Original Image

原图

Retina iPad 100x100

100px x 100px 的 Retina iPad 渲染

iPad 2 100x100

iPad 2 以 100 像素 x 100 像素渲染

iPad 2 和新 iPad 之间的区别可能只是屏幕分辨率,也可能是 GPU 更适合缩放图像。不管怎样,iPad 2 的渲染效果都很差。

我首先尝试通过创建新上下文、将插值质量设置为高并将图像绘制到上下文中来减小图像大小。在这种情况下,图像在两台 iPad 上看起来都很好。

在我继续图像复制/调整大小之前,我想检查一下我是否遗漏了一些更简单的东西。我很欣赏 UIImage 不是要缩放的,但我的印象是 UIImageView 可以处理缩放,但目前它似乎并没有很好地缩小。我错过了什么(如果有的话)?

更新:注意:渲染/调整大小图像上的阴影是在代码中添加的。禁用此功能对缩放质量没有影响。

最佳答案

我尝试过的另一种似乎确实可以改进的方法是设置 minificationFilter:

[imageView.layer setMinificationFilter:kCAFilterTrilinear]

质量肯定有所提高,我没有注意到性能下降。

关于objective-c - iOS UIImageView 缩小图像在 iPad 2 上产生锯齿图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12730384/

相关文章:

ios - 循环期间更新进度条

ios - 使用ErrorReauthorizedFailedReasonUserCancelled调用reauthorizeWithPublishPermissions处理程序

ios - 编辑从 View 扩展的静态 TableView

javascript - Touchwipe 集成 - 一页站点脚本

iphone - 在 UINavigationController 中按下后退按钮时如何调用 viewDidLoad 方法? (iPhone/iPad)

objective-c - 使用 NSURL 设置和获取 kIsStationary 位

objective-c - NSString 的 sprintf 功能

ios - 如何解决JSON字典

ios - 单击电源按钮的系统通知或任何委托(delegate)方法 - iOS

ipad - YouTube 播放器不能被任何 HTML 元素覆盖