加载UIImage低质量

时间:2013-02-08 12:45:51

标签: iphone ios

我想知道如何首先加载低质量的UIImage,然后以高质量加载原始的UIImage。它是否有一个算法在objective-c中执行此操作?我检查了NYXImagesKit类,但它只适用于iOS 5+,因为它使用Core Image框架......我需要使用iOS 4.3+。它的效果就像Facebook应用程序一样。

只是编辑:

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

我想做效果2号

2 个答案:

答案 0 :(得分:2)

来自docs:

递增加载图片

如果您的图像非常大,或者正在通过网络加载图像数据,您可能需要创建增量图像源,以便在累积图像数据时绘制图像数据。您需要执行以下任务以从CFData对象以增量方式加载图像:

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

答案 1 :(得分:0)

您可以参考以下链接,它可能会对您有所帮助

uiimage-dsp