iphone - 加载 UIImage 低质量

标签 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

最佳答案

来自docs:

增量加载图像

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

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

关于iphone - 加载 UIImage 低质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14772913/

相关文章:

ios - 使用 iCloud 恢复的不可再生应用内购买

ios - Swift 4.2 中带有 JSON 数据的 TableView

iphone - MPMoviePlayer 完成按钮问题

ios - 如何禁用 iPhone 'app not active' 闪烁的横幅

ios - 从 Nib 文件移动后如何显示 UITabBarController

ios - 自动滚动图像并对点击图像执行操作

ios - 谷歌应用索引 ios 搜索结果

android - WebRTC 中如何优雅地切换网络?

iphone - 在 Objective-c 中实现协议(protocol)方法

ios - UIImagePickerController 黑色不透明底栏