【问题标题】:Core Image resize CIImage without loss of qualityCore Image 在不损失质量的情况下调整 CIImage 大小
【发布时间】:2016-11-20 17:00:40
【问题描述】:

您好,我正在使用“CILanczosScaleTransform”将图像大小调整 50%,结果变得模糊。我在网上读到 CILanczosScaleTransform 不是很好。我不想增加清晰度或“伪造它”。有什么想法可以在图像不模糊的情况下缩放图像?

更新:这是一个可供下载的项目示例。可以清楚地看到右边的图像比左边用 CILanczosScaleTransform 转换的图像清晰得多。

https://www.dropbox.com/s/q8yijwiv78hehuc/image%20resizer%20but%20blurry.zip?dl=0

【问题讨论】:

  • CICrop?通过裁剪缩放图像?我不明白。你说的是裁剪而不是“缩放”?
  • 您可以简单地使用imageView transform 属性来调整图像的大小吗?
  • 由于 CIImage 不是真实的图像,它可能是别的东西。文档说这个过滤器我通常用来缩小图像。 “将我的图像大小调整 50%”。这是否意味着您正在扩大规模?另外,也许这是渲染的问题。你能提供一些代码吗?
  • 谢谢!我已经用示例代码和屏幕截图更新了这个问题。可以清楚地看到右边的图像比左边用 CILanczosScaleTransform 转换的图像要清晰得多。如果可以的话,请帮忙!
  • 我可能比你大很多,我的眼睛也没有那么好。我仍然看到 no 差异 - 无论是在此处还是在我刚刚下载的项目中。简单的东西,比如边缘(公牛角)一直穿过右边背景中的死树或公牛前面的明暗杂草。左前方有几股公牛毛(?)或头发(?)?相同 - 没有区别。

标签: swift xcode macos core-image


【解决方案1】:

CGBitmapContext 对我来说一直很可靠。参考这里:http://nshipster.com/image-resizing/

【讨论】:

  • 谢谢!试过了。没用。请参阅我添加的示例项目。可以清楚的看到左边的图像,用 CILanczosScaleTransform 变换是模糊的。
  • 你有什么特别的原因要使用CILanczosScaleTransform吗?
  • 嗨,韦斯。我试过 CGBitmapContext 但它同样模糊。我不明白为什么 CILanczosScaleTransform 会缩放到模糊的图像。
  • 您还必须考虑显示图像的物理尺寸。在上面的示例中,一个应该比另一个小 10%,但您以相同的物理尺寸而不是字面尺寸显示它们,因此较小的会被模糊。
  • 抱歉,Wes,有误会。这两个是相同的图像。左边的一个正在使用 CILanczosScaleTransform 进行缩放,而另一个只是在通过缩小视图来缩放的图像中。图像很好地创建了一个漂亮、清晰、缩放的图像。 CILanczosScaleTransform 视图没有。
猜你喜欢
  • 2011-11-12
  • 1970-01-01
  • 2013-05-04
  • 1970-01-01
  • 2014-01-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多