我想知道如何先加载低质量的 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
最佳答案
来自docs:
增量加载图像
如果您有一个非常大的图像,或者正在通过网络加载图像数据,您可能想要创建一个增量图像源,以便您可以在积累图像数据时绘制它。您需要执行以下任务以从 CFData 对象增量加载图像:
- 创建用于累积图像数据的 CFData 对象。
- 通过调用函数 CGImageSourceCreateIncremental 创建增量图像源。
- 将图像数据添加到 CFData 对象。
- 调用 CGImageSourceUpdateData 函数,传递 CFData 对象和一个 bool 值(bool 数据类型),该值指定数据参数是包含整个图像还是仅包含部分图像数据。在任何情况下,数据参数必须包含到那时为止积累的所有图像文件数据。
- 如果积累了足够的图像数据,调用CGImageSourceCreateImageAtIndex创建图像,绘制局部图像,然后释放。
- 通过调用函数 CGImageSourceGetStatusAtIndex 检查您是否拥有图像的所有数据。如果图像完整,则此函数返回 kCGImageStatusComplete。如果图像不完整,请重复步骤 3 和 4,直到完成为止。
- 释放增量镜像源。
关于iphone - 加载 UIImage 低质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14772913/