OpenEdv-开源电子网

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

关于TFTLCD的问题

[复制链接]

8

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2018-2-8
在线时间
14 小时
发表于 2018-2-19 10:36:13 | 显示全部楼层 |阅读模式
1金钱
我使用的书是《例说STM32》,寄存器版本的源码中:
//画笔颜色
#define WHITE                  0xFFFF
#define BLACK                  0x0000          
#define BLUE                  0x001F  
#define BRED             0XF81F
#define GRED                          0XFFE0
#define GBLUE                         0X07FF
#define RED                    0xF800
#define MAGENTA                0xF81F
#define GREEN                  0x07E0
#define CYAN                   0x7FFF
#define YELLOW                 0xFFE0
#define BROWN                          0XBC40 //רé«
#define BRRED                          0XFC07 //רoìé«
#define GRAY                           0X8430 //»òé«


除了红绿蓝三种颜色我知道是怎么来的,其他颜色是怎么来的呢?
(新手上路,多多指教)

最佳答案

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

通过RGB565的格式计算得到的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-2-19 10:36:14 | 显示全部楼层
通过RGB565的格式计算得到的。
回复

使用道具 举报

8

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2018-2-8
在线时间
14 小时
 楼主| 发表于 2018-2-21 21:01:18 | 显示全部楼层
a496298685 发表于 2018-2-19 10:36
通过RGB565的格式计算得到的。

请问具体怎么计算?可以介绍一下吗
回复

使用道具 举报

21

主题

66

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
273
金钱
273
注册时间
2017-7-19
在线时间
89 小时
发表于 2018-2-21 22:34:57 | 显示全部楼层
通常是24位的RGB转16位的RGB。24位中的R、G、B都是8位的。
所以转成16位过程就是:R取高5位,G取高6位,B取高5位,组合成16位。这就是RGB565色
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-2-22 15:40:46 | 显示全部楼层
飛饵 发表于 2018-2-21 22:34
通常是24位的RGB转16位的RGB。24位中的R、G、B都是8位的。
所以转成16位过程就是:R取高5位,G取高6位,B ...

那我那我+1
回复

使用道具 举报

8

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2018-2-8
在线时间
14 小时
 楼主| 发表于 2018-2-22 20:47:36 | 显示全部楼层
飛饵 发表于 2018-2-21 22:34
通常是24位的RGB转16位的RGB。24位中的R、G、B都是8位的。
所以转成16位过程就是:R取高5位,G取高6位,B ...

举个例子:如果取灰色怎么设置这几个位呢?
回复

使用道具 举报

21

主题

66

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
273
金钱
273
注册时间
2017-7-19
在线时间
89 小时
发表于 2018-2-22 23:46:09 | 显示全部楼层
直指电赛 发表于 2018-2-22 20:47
举个例子:如果取灰色怎么设置这几个位呢?

灰色有很多种的,只要R=G=B都是灰色,只是明暗的问题。
拿135来说:
R(135) = 1000 0111,取高5位得,1000 0
G(135) = 1000 0111,取高6位得,1000 01
B(135) = 1000 0111,取高5位得,1000 0
然后组合一起成16位,1000 0 1000 01 1000 0 = 0x8430
回复

使用道具 举报

0

主题

45

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
224
金钱
224
注册时间
2016-9-14
在线时间
32 小时
发表于 2018-2-23 13:52:47 | 显示全部楼层
学习了
回复

使用道具 举报

8

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2018-2-8
在线时间
14 小时
 楼主| 发表于 2018-2-25 10:05:28 | 显示全部楼层
飛饵 发表于 2018-2-22 23:46
灰色有很多种的,只要R=G=B都是灰色,只是明暗的问题。
拿135来说:
R(135) = 1000 0111,取高5位得 ...

谢谢大佬
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-10 16:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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