具有特定格式 RGB-565 的 UIImage

Posted

技术标签:

【中文标题】具有特定格式 RGB-565 的 UIImage【英文标题】:UIImage with a specific format RGB-565 【发布时间】:2011-02-08 08:23:22 【问题描述】:

我使用一些图像作为背景,对于视网膜显示,它们是 640x960 像素并保存为 PNG。

因为它们占用了太多内存,我将它们保存为 RGB-565(每个像素 2 字节,红色和蓝色 5 像素,绿色 6 像素,不透明),但分配的内存是相同的.

UIImage 类是否知道这些特定格式?

对于内存使用,我认为 UIImage 认为是 RGBA8888(每像素 4 字节,每通道 8 位)。

谢谢,

r.

【问题讨论】:

【参考方案1】:

UIImages 包含一些漂亮的优化策略。其中之一可能是将图像转换为本机格式(ARGB32 或其他格式,我忘记了……),以便在运行时更快地渲染。在其他时候,它可能会选择将图像保留为原始 PNG 压缩格式。

啊,请参阅:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIImage_Class/Reference/Reference.html 说“加载时,格式化为 RGB-565 的 Windows 位图格式 (BMP) 文件将转换为 ARGB-1555。”。您的图像可能也是如此。

【讨论】:

我的图片不是位图,是 PNG。在 Cocos2D 中,我看到内存是如何上升或下降的,但是当直接使用 UIImages 时,内存总是一样的,没有区别。谢谢

以上是关于具有特定格式 RGB-565 的 UIImage的主要内容,如果未能解决你的问题,请参考以下文章

怎么把android framebuffer输出格式改为rgb565

16位bmp文件中RGB555转RGB565算法

RGB格式详解---RGB像素格式

RGB565的转换

Glide图片格式设置RGB565不生效?

RGB888与RGB565互相转换原理