OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3933|回复: 4

关于从ILI93xx读出的数据为GBR格式与我们写入的时候为RGB格式的转换函数分析

[复制链接]

27

主题

118

帖子

0

精华

高级会员

Rank: 4

积分
850
金钱
850
注册时间
2015-12-8
在线时间
176 小时
发表于 2015-12-13 22:38:22 | 显示全部楼层 |阅读模式
5金钱
//从ILI93xx读出的数据为GBR格式,而我们写入的时候为RGB格式。
//通过该函数转换
//c:GBR格式的颜色值
//返回值:RGB格式的颜色值
u16 LCD_BGR2RGB(u16 c)
{
u16  r,g,b,rgb;   
b=(c>>0)&0x1f;
g=(c>>5)&0x3f;
r=(c>>11)&0x1f;  
rgb=(b<<11)+(g<<5)+(r<<0);  
return(rgb);


我看这个函数的理解是:按照它们移位的状况来看,变量C是我们写入的RGB值,返回的是BGR值呀,和注释说的不一样呀,而且为什么这样就实现转换了呢?

最佳答案

查看完整内容[请看2#楼]

b=输出的r r=输出的b
为自己掌握新的知识感到快乐
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-12-13 22:38:23 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

27

主题

118

帖子

0

精华

高级会员

Rank: 4

积分
850
金钱
850
注册时间
2015-12-8
在线时间
176 小时
 楼主| 发表于 2015-12-15 11:44:58 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
c的格式为GBR,那16位颜色分量所在位的分配是655吗?G作占最高的六位?“b=(c>>0)&0x1f;”这个是把R给b,"g=(c>>5)&0x3f;"这句不是应该是“g=(c>>10)&3f;”才是把G的值给g,“r=(c>>11)&0x1f;”应该是“r=(c>>5)&0x1f”才是把B的值给r吧?有些理解不了
为自己掌握新的知识感到快乐
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-12-16 23:17:28 | 显示全部楼层
回复【3楼】Jundodo:
---------------------------------
按你的想法写代码吧
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2016-2-8
在线时间
3 小时
发表于 2016-2-8 17:56:39 | 显示全部楼层
该不会是从ILI9320中读出的数据是BGR格式的吗?注释的“从ILI93xx读出的数据为GBR格式”是错误的,不然为什么函数的名称是BGR2RGB(u16 c)。看函数名的意思是不是把bgr格式的数据转换为rgb格式。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 02:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表