我使用UIImageView显示图像的缩略图,然后可以 Select 以全尺寸查看.UIImageView的内容模式设置为aspect fit.

图像通常从500px x 500px左右缩小到100px x 100px.在retina iPad上,它们的显示效果非常好,而在iPad2上,它们被严重混叠,直到尺寸接近本机图像大小.

例如:

原始图像

原始图像

视网膜iPad 100x100

100像素x 100像素的视网膜iPad渲染

iPad 2 100x100

iPad 2以100像素x 100像素的速度渲染

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

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

在继续进行图像复制/调整大小之前,我想判断一下,我没有遗漏任何更简单的东西.我很感激UIImageView不是用来zoom 的,但我觉得UIImageView是用来处理zoom 的,但目前它在缩小比例方面似乎做得不好.我错过了什么(如果有的话)?

Update:注意:渲染/调整大小的图像上的阴影是在代码中添加的.禁用此选项对zoom 的质量没有影响.

推荐答案

我try 过的另一种似乎确实能改善情况的方法是设置minificationFilter:

[imageView.layer setMinificationFilter:kCAFilterTrilinear]

质量当然提高了,我还没有注意到性能下降.

Objective-c相关问答推荐

Objective-C - 将浮点数转换为字符串的其他方法

'if not' 的 Objective-C 预处理器指令

如何为代码自动格式化设置 Xcode 插件

NSFileManager 唯一的文件名

Objective-C 浮点舍入

如何使用整数值作为键在 NSMutableDictionary 中设置值?

只有 ONE VIEW 横向模式

进入编辑模式时动画自定义绘制的 UITableViewCell

无法在 Interface Builder (Xcode 5) 中创建与子视图的出口连接

alloc 和 allocWithZone: 有什么区别?

如何将小时数添加到 NSDate?

Core Data使用原始数据类型的标量属性复选框

主队列上的 performSelectorOnMainThread: 和 dispatch_async() 有什么区别?

协议和代表之间的区别?

Objective-C 中的同步和异步调用与多线程有什么区别?

通过将另一个字符串重复给定次数来创建 NSString

iPhone:如何确定线程是否是主线程?

如何将 UITableView 滚动到特定位置

无法加载从设备上运行的包中的 nib 引用的图像

如何调整 UIToolBar 左右内边距