加载 UIImage 低质量

Posted

技术标签:

【中文标题】加载 UIImage 低质量【英文标题】:load UIImage low quality 【发布时间】:2013-02-08 12:45:51 【问题描述】:

我想知道如何先加载一个低质量的 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号效果

【问题讨论】:

图像存储在哪里?网站?设备? 我在一个网站上有原始图像 【参考方案1】:

来自docs:

增量加载图像

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

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

【讨论】:

我不知道为什么,但这就像一维进度一样工作。如何加载二维?它的亚当 7 算法。看看我想要加载图像的方式:en.wikipedia.org/wiki/File:Adam7_make_awesome_face.gif。但是使用此代码加载如下:en.wikipedia.org/wiki/JPEG。我需要将我的图像 JPEG web 转换为 PNG 吗? 哦,等一下。我的网络图像需要 PNG 隔行扫描?【参考方案2】:

你可以参考下面的链接,它可能对你有帮助

uiimage-dsp

【讨论】:

谢谢,但没有帮助。我需要算法 adam 7 之类的东西来加载图像 png

以上是关于加载 UIImage 低质量的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 UIImage 加载 16 位图像?

简单阐述下OC中UIImage三种创建方式~~~

UIImage加载方式

UIImage加载图片的区别

加载图像异步并返回UIImage的公共函数

UIImage加载图片的方式以及Images.xcassets对于加载方法的影响