在iOS中,如何在放大位图时保留锐边?

时间:2014-04-04 04:53:58

标签: ios uiimageview uiimage

当您将UIImage放入小于视图的UIImageView,并且视图的内容模式为ScaleToFit时,iOS会按预期放大位图。我从未想到的是它模糊了它放大的像素的边缘。如果你正在看照片,我可以看到这可能是一个很好的接触,但在许多其他情况下,我想看到那些讨厌,坚硬,直的边缘!

是否有人知道如何配置UIImageUIImageView以使用清晰像素边缘进行放大?那就是:让它看起来像素化,而不是模糊。

谢谢!

1 个答案:

答案 0 :(得分:4)

如果要使用锐化边缘在UIImageView中放大任何图像,请使用CALayer的以下属性。

imageview.layer.magnificationFilter = kCAFilterNearest;

magnificationFilter似乎影响了UIView内容的插值方法。我建议您阅读CALayer.h中对该属性的解释。

/* The filter types to use when rendering the `contents' property of
 * the layer. The minification filter is used when to reduce the size
 * of image data, the magnification filter to increase the size of
 * image data. Currently the allowed values are `nearest' and `linear'.
 * Both properties default to `linear'. */

@property(copy) NSString *minificationFilter, *magnificationFilter;

我希望我的答案对你有用。