14

我有一个我正在开发的小型 iPhone 应用程序,我正在使用 UIImageView 显示图像。我正在使用 Aspect Fit 模式将其放大。我想让图像在没有插值/平滑的情况下放大(我希望它看起来像素化)。有什么办法可以改变这种行为吗?

一个更普遍的问题是我可以实现自己的缩放算法,还是我可以选择其他内置算法?

4

4 回答 4

22

您需要将视图图层上的 magnificationFilter 属性设置为最近邻过滤器:

[[view layer] setMagnificationFilter:kCAFilterNearest]
于 2009-07-28T06:37:11.237 回答
5

确保包含该行

#import  <QuartzCore/CALayer.h>

在包含对 setMagnificationFilter 的调用的文件顶部,否则将无法编译。

于 2010-08-07T03:14:14.603 回答
4

迅速

imageView.layer.magnificationFilter = kCAFilterNearest
imageView.layer.shouldRasterize = true
于 2018-02-03T13:59:53.940 回答
-2

有两种方法可以做到这一点。您可以在不进行插值的情况下实现重新缩放算法。如果工作量太大,您可以在其他应用程序(如 gimp 或 Photoshop)中重新缩放图像。除非您需要在应用程序中动态更改大小,否则这将起作用。

于 2009-07-28T05:27:23.997 回答