2013-02-08 74 views
1

我想知道如何加载第一个低质量的UIImage,然后以高质量加载原始UIImage。它是否有一个算法在objective-c中做到这一点?我检查了NYXImagesKit类,但它只适用于iOS 5+,因为它使用核心图像框架...而且我需要在iOS 4.3+上工作。它的效果就像Facebook应用程序一样。加载UIImage低质量

JUST A编辑:

检查了这一点: http://www.codinghorror.com/blog/2005/12/progressive-image-rendering.html

我想要做的效果号码,你2

+0

你在哪里存储图像?网站?设备? – 2013-02-08 12:58:14

+0

我在一个网站上有原始图像 – 2013-02-08 13:00:24

回答

2

来自docs:

增量加载图像

如果你有一个非常大的图像,或通过网络加载图像数据时,你可能需要创建增量映像源,以便为您积累,你就可以绘制图像数据它。您需要执行以下任务以从CFData对象逐步加载图像:

  1. 创建用于累积图像数据的CFData对象。
  2. 通过调用函数CGImageSourceCreateIncremental创建增量图像源。
  3. 将图像数据添加到CFData对象。
  4. 调用函数CGImageSourceUpdateData,传递CFData对象和一个布尔值(bool数据类型),该值指定数据参数是包含整个图像还是仅包含部分图像数据。在任何情况下,数据参数都必须包含到该点为止累积的所有图像文件数据。
  5. 如果您已经积累了足够的图像数据,请调用CGImageSourceCreateImageAtIndex创建图像,绘制部分图像,然后释放它。
  6. 通过调用函数CGImageSourceGetStatusAtIndex来检查是否具有图像的所有数据。如果图像完整,则此函数返回kCGImageStatusComplete。如果图像不完整,请重复步骤3和4直到完成。
  7. 释放增量图像源。
+0

我不知道为什么,但这是像1维进展。如何加载2维?它的Adam 7算法。看看我想如何加载图片:http://en.wikipedia.org/wiki/File:Adam7_make_awesome_face.gif。但是,这段代码是这样加载的:http://en.wikipedia.org/wiki/JPEG。我需要将我的图片JPEG网页转换为PNG吗? – 2013-02-08 14:15:03

+0

ohhh稍等片刻。我的网站图片需要PNG隔行扫描? – 2013-02-08 14:48:11

+0

是的,他们需要交错 – 2013-02-12 10:49:14

0

您可以参考以下链接,也可能是帮助

uiimage-dsp

+0

谢谢,但它没有帮助。我需要像算法亚当7加载图像PNG – 2013-02-08 14:30:33