tft(RGB565) 颜色渐变(同种色相变淡)的一种简易实现

应用对象:tft(RGB565),分辨率240*240
渐变类型:同种色相,逐渐变淡(不是不同色相将渐变)
实现方式:保持需改变色相的RGB值(888)不变,其它通道值比例递增
伪代码如下:

 while(i<sumLine)        //sumStep是tft行数
		 	 {
		 		 RGB888ToRGB565(r1, g1, b1, &colorR565, &colorG565, &colorB565);		//因为tft只能接受RGB565值,而对我们而言,RGB888容易获取和输入
		 		 colorFill = RGBassemble(colorR565, colorG565, colorB565);                   	//RGB888三色组合为RGB565
		 		 fillLine(0, i, rowNum, i,colorFill);                                                                     //对tft一行进行颜色填充
		 		 if(i>beginLine)                                                                                                //beginLine是指从哪一行开始变淡,这主要是考虑让颜色能相对细腻地改变                        
		 		 {                                                                                                                      //保持需改变色相的RGB值(888)不变,其它通道值比例递增,如下的g1++,r1++
		 		 g1++;                                                                                                              //对RGB888而言,每通道最大值是0xFF,不能超过该值
		 		 r1++;
		 		 }
		 		 i++;
		 	 }

Caution:
1、这是同种色相实现变淡,非不同色相间渐变;
2、这是不完善的实现方式,就是说玩玩(应用要求不大)还可以,实际用要结合其他方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值