【发布时间】:2017-01-15 09:51:18
【问题描述】:
我无法以一种不错的方式放大图像。我在 UIImageView 中显示图像。但是在从服务器下载图像时,我想显示图像的模糊版本。服务器很快给了我一个小版本的图像,看起来像这样:
放大后是这样的:
我希望能够像这样绘制它(当我放大图像时 Chrome 是这样绘制它的):
但是当我将图像放入 UIImageView 并将 imageview.layer.magnificationFilter 设置为 kCAFilterLinear 或 kCAFilterTrilinear 时,我得到了这个:
...这是丑陋的 - 注意光和暗的硬带。
我尝试过将 CIFilter 与 CILanczosScaleTransform 一起使用,这看起来很有希望,但我得到了一个丑陋的边框效果:
嗯 - 有什么建议吗?有人做得很好吗?我可以永远尝试过滤器,我想看看是否有人破解了这个......
编辑:我尝试了 bbarnhart 的建议。我明白了 - 更好,但模糊半径太大或其他什么:
编辑 2:@bbarnhart,我现在可以更接近了!
【问题讨论】:
-
这个问题似乎完全取决于你的个人审美,什么是可以接受的。这不是编程问题,无论如何没有人能读懂你的想法。只有你才能知道你想要什么并决定给定的实现是否能提供好的渲染,所以你只需要不断尝试。
-
@matt:不正确。我陈述了我想要实现的目标:第二张图像,以及我尝试过的内容,并要求提供编程解决方案来实现目标。这完全是一个编程问题。
-
但是,实际上,您只是在问“Chrome 是如何实现这种效果的”?但是我们谁也不知道那个,而且iOS不是Chrome。
-
我在操场上使用了第一个非常块状的图像,而不是来自 magnificationFilter 的图像。它看起来非常接近您想要实现的目标。
-
@matt: 也不正确:我不在乎 chrome 是如何做到的,我只关心如何在 iOS 中实现它。
标签: ios uiimageview cifilter