随笔 - 733  文章 - 2  评论 - 12  阅读 - 92万

彩色液晶与颜色编码

RGB位色:32位 24位 16位 15位
颜色与值:都为0为黑 都为255为白 ,其它相等为无色彩灰度色
RGB颜色公式:RGB()=65536*Blue+256*Green+Red
RGB颜色码(采用16进制24位色):#RRGGBB# 比如RR的取值范围为00~FF
16位色RGB565:采用一个字即2个字节来表示颜色即 RRRRR GGGGGG BBBBB采用位屏蔽和移位操作获取各颜色分量例如:
 #define RGB565_MASK_RED 0XF800
 #define RGB565_MASK_GREEM 0X07E0
 #define RGB565_MASK_BLUE 0X001F
 R=(wPixel&RGB565_MASK_RED)>>11 值范围为0~31
 G=(wPixel&RGB565_MASK_GREEN)>>5 值范围为0~63
 B=(wPixel&RGB565_MASK_BLUE) 值范围为0~31
 RGB(颜色)=(0XF800)*red+(0x07E0)*green+blue

 RGB565转RGB888:将上面分离出的RGB向高位移动填充:R=R<<3;G=G<<2;B=B<<3然后再合成24位格式RGB()=65536*Blue+256*Green+Red

或者:RGB888=(R<<16)|(G<<8)|B


 以下实现24位域16位的转换:
 #define RGB(r,g,b) (unsigned int)((r|0x08<<11)|(g|0x08<<6)|(b|0x08))
 #define RGB(r,g,b) (unsigned int)((r|0x08<<10)|(g|0x08<<5)|(b|0x08))
RGB555:与RGB565类似 只不过最高位不用。
彩色液晶编程(借助工具或者565颜色码表):# define black 0x0000  //定义颜色码

posted on   杰瑞鼠  阅读(719)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
< 2012年10月 >
30 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 1 2 3
4 5 6 7 8 9 10

点击右上角即可分享
微信分享提示