S3C6410 FramBuffer编程(四) --- RGB565、RGB24简介,以及RGB565转换为RGB24
来源:互联网 发布:淘宝打包配货员累吗 编辑:程序博客网 时间:2024/04/30 00:11
1.
RGB565
RGB565使用16位表示一个像素,这16位中的5位用于R,6位用于G,5位用于B。程序中通常使用一个字(WORD,一个字等于两个字节)来操作一个像素。当读出一个像素后,这个字的各个位意义如下: 高字节 低字节 R R R R R G G G G G G B B B B B 可以组合使用屏蔽字和移位操作来得到RGB各分量的值: #define RGB565_MASK_RED 0xF800 #define RGB565_MASK_GREEN 0x07E0 #define RGB565_MASK_BLUE 0x001F R = (wPixel & RGB565_MASK_RED) >> 11; // 取值范围0-31 G = (wPixel & RGB565_MASK_GREEN) >> 5; // 取值范围0-63B = wPixel & RGB565_MASK_BLUE; // 取值范围0-31
2.
RGB24
RGB24使用24位来表示一个像素,RGB分量都用8位表示,取值范围为0-255。注意在内存中RGB各分量的排列顺序为:BGR BGR BGR…。通常可以使用RGBTRIPLE数据结构来操作一个像素,它的定义为: typedef struct tagRGBTRIPLE { BYTE rgbtBlue; // 蓝色分量 BYTE rgbtGreen; // 绿色分量 BYTE rgbtRed; // 红色分量 } RGBTRIPLE;3. RGB24 转换为 RGB565
unsigned short rgb24_2_rgb565(unsigned short r, unsigned short g, unsigned short b)
{
unsigned short ret;
ret = (r << 8)&0xf800 | (g << 3)&0x07e0 | (b >> 3);
return ret;
}
{
unsigned short ret;
ret = (r << 8)&0xf800 | (g << 3)&0x07e0 | (b >> 3);
return ret;
}
详情请见http://blog.csdn.net/anufa/article/details/1529484
- S3C6410 FramBuffer编程(四) --- RGB565、RGB24简介,以及RGB565转换为RGB24
- S3C6410 FramBuffer编程(四) --- RGB565、RGB24简介,以及RGB565转换为RGB24
- RGB565到RGB24转换
- RGB565到RGB24转换
- RGB565 to RGB24, RGB555 & RGB24
- RGB565 to RGB24, RGB555 & RGB24
- RGB565 to RGB24
- RGB565 to RGB24
- RGB24互转RGB565
- RGB565,RGB24,YUV
- rgb24转rgb555/rgb565优化
- RGB565 to RGB24, RGB555 & RGB2
- linux 下将rgb24转化为rgb565的格式
- RGB565颜色表,附RGB888转RGB565工具,RGB24转RGB565工具
- BMP数据转换为RGB565
- BMP数据转换为RGB565
- BMP数据转换为RGB565
- 图像转换:RGB24转换为YUV420P
- [小e笔记]之错误案例——ORA-01034和ORA-27101错误
- APK反编译工具
- 湖南粮食局长禁食一天称给我白米饭都觉得美味-禁食
- 经典SQL语句大全之技巧
- ArcGIS Desktop 10的安装与破解
- S3C6410 FramBuffer编程(四) --- RGB565、RGB24简介,以及RGB565转换为RGB24
- string,StringBuffer与StringBuilder的区别??
- 厦门亿联网络2013校园招聘C++软件工程师笔试题(2012-10-17)
- 面向对象的设计原则
- 一些有趣的编程名言
- 快播大屏幕推出的真正原因
- 经典SQL语句大全之经典
- MySQL修改表结构命令 alter
- 安装linux mint 13 之后五件应该做的事情