UIImage在不损失质量的情况下调整大小

时间:2012-01-18 21:41:05

标签: iphone cocoa-touch image-processing uikit core-graphics

我正在寻找一个外部库(或使用不会破坏质量的Apple框架的方法),这将让我缩小图像。

我试过这个'简单图像处理库',但它只适用于黑白 - 我不知道如何让它适用于彩色图像。 (http://code.google.com/p/simple-iphone-image-processing/

我尝试过Core Graphics,UIKit,“trevor”(http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/)方法 - 这使得图像非常模糊,我真的不知道还能做什么 - 我无法继续编程我的应用程序没有得到至少一半体面的图像缩放工作。我认为需要插值来获得不错的结果。

鉴于iOS最近取得的进展,我真的希望有人可以帮助我。这不仅仅是我遇到的问题,很多其他人似乎也遇到了同样的问题,所以如果有人能在这里解决它,我肯定会受到广大观众的欢迎!

非常感谢

1 个答案:

答案 0 :(得分:10)

我的回答:

好的 - 实际上回答了我的问题的人随后删除了他们的答案,我真的不确定原因。

以下是三种不同的方法:

  • 使用Trevor的分类方法 - 我认为这对于保持清晰度非常糟糕。当您试图防止出现锯齿状线条时,它会更有用。
  • 使用iOS5的Core Image支持和AffineTransform过滤器 - iOS中没有更高级的CILanczosScaleTransform(据我所知)。实际上产生了非常糟糕的结果。
  • 使用MGImageUtilities的类别 - 这似乎在缩小时产生了出色的效果。 (https://github.com/mattgemmell/MGImageUtilities

以下是四张图片的屏幕截图。放大它! :http://i.stack.imgur.com/M3DVE.jpg 从左 - >右:原创,特雷弗,核心形象,MGIU。

enter image description here

令人惊讶的是,最右边的图片比左边的图片少了大约十六倍的内存使用量。几乎相同的质量。在小屏幕上 - 始终调整大图像的大小!