首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将32位PNG转换为RGB565?

如何将32位PNG转换为RGB565?
EN

Stack Overflow用户
提问于 2012-04-12 14:19:33
回答 5查看 10.7K关注 0票数 2

我如何才能做到这一点呢?程序性解决方案(Objective-c)很好,但即使是非程序性解决方案也很好。

我有pixelmator ->,但这不能给你选择。我似乎也不能用Preview做到这一点。

我试过用谷歌搜索,但到目前为止还没有找到解决方案。我唯一能用来做这件事的工具是TexturePacker,但它创建了一个精灵工作表。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-04-14 16:38:18

我从texture packer的创建者那里得到了这样的回答:

代码语言:javascript
复制
you can do it from command line - see

http://www.texturepacker.com/uncategorized/batch-converting-images-to-pvr-or-pvr-ccz/

代码语言:javascript
复制
Just adjust the opt and set output to .png instead of pvr.ccz
Make sure that you do not overwrite your source images.
票数 2
EN

Stack Overflow用户

发布于 2012-04-12 22:58:51

您可以使用libpng将PNG图像转换为三字节(8:8:8) RGB。然后,您可以对RGB565的5:6:5 16位颜色值进行下采样。如果rgb是各自的8位颜色(以无符号字符类型存储),则16位RGB565值为:

代码语言:javascript
复制
((r >> 3) << 11) | ((g >> 2) << 5) | (b >> 3)

您可以通过舍入而不是斩波来改进这一点,注意不要使值溢出。当蓝色和红色值在原始8位值中都相等时,您还可以强制绿色值等于蓝色和红色值。否则,可能会使原本为灰色的颜色在转换后无意中呈现出颜色。

票数 6
EN

Stack Overflow用户

发布于 2012-04-13 12:18:13

使用石英创建具有颜色RGB565的位图上下文,在此上下文上绘制您的PNG,将此位图上下文保存到文件中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10118374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档