OpenEdv-开源电子网

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

如何让汉字的背景和屏幕背景一个色

[复制链接]

10

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2013-12-6
在线时间
5 小时
发表于 2015-8-17 14:13:26 | 显示全部楼层 |阅读模式
5金钱
 用的是战舰开发板,6804,3.5寸液晶,忙了几天,下面的程序可以在任意位置显示24*24,32*32的汉字和字符了,现在遇到一个问题,我希望显示的汉字的背景和屏幕背景同色,比如我的图片汉字是白色,我希望除了白色的字外,字的背景色和黑色背景一样,因为汉字是从字库里面选的,不想修改字库内容,有没有什么快的办法解决这个问题,在线坐等大家回复啊!!!!



 

实验41 汉字显示实验.rar

2.42 MB, 下载次数: 78

最佳答案

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

问题解决了,其实很简单,先填充区域,再采用叠加方式显示。 LCD_Fill(0,0,320,24,BLUE); POINT_COLOR=RED;       Show_Str(0,0,320,24,"战舰 STM32开发板",24,1);
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2013-12-6
在线时间
5 小时
 楼主| 发表于 2015-8-17 14:13:27 | 显示全部楼层
问题解决了,其实很简单,先填充区域,再采用叠加方式显示。
LCD_Fill(0,0,320,24,BLUE);
POINT_COLOR=RED;      
Show_Str(0,0,320,24,"战舰 STM32开发板",24,1);
回复

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2015-8-17
在线时间
0 小时
发表于 2015-8-17 14:17:37 | 显示全部楼层
电子行业厂商值得推广的真正意义上的电子行业集散地。行业人士的最佳采购平台,中国百州电子网。
 为电子行业厂商提供免费使用三个月VIP会员服务。
回复

使用道具 举报

8

主题

124

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
212
金钱
212
注册时间
2015-8-1
在线时间
7 小时
发表于 2015-8-17 14:21:08 | 显示全部楼层
汉字和字符都是按点阵描点的。有笔划的点描前景色,非笔划的点描背景色。

我是设置了一个透明色,当背景颜色为透明色,且需要画点非笔划的点时,不画点即可。
有软件开发经验,从0硬件基础学习STM32开发。
回复

使用道具 举报

8

主题

124

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
212
金钱
212
注册时间
2015-8-1
在线时间
7 小时
发表于 2015-8-17 14:22:42 | 显示全部楼层
对了,你可以看我昨天的帖子的 5 楼
http://www.openedv.com/posts/list/57941.htm
有软件开发经验,从0硬件基础学习STM32开发。
回复

使用道具 举报

10

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2013-12-6
在线时间
5 小时
 楼主| 发表于 2015-8-18 17:24:53 | 显示全部楼层
回复【4楼】dragon7799:
---------------------------------
LCD_DrawPointFast(aX, aY, aForeColor);  
else if(aBackColor != COLOR_TRANSPARENT)  
LCD_DrawPointFast(aX, aY, aBackColor);  

你好,麻烦将LCD_DrawPointFast(aX, aY, aForeColor);  
LCD_DrawPointFast(aX, aY, aBackColor);  
函数贴出来
回复

使用道具 举报

8

主题

124

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
212
金钱
212
注册时间
2015-8-1
在线时间
7 小时
发表于 2015-8-18 20:13:52 | 显示全部楼层
回复【6楼】小蚂蚁:
---------------------------------
LCD_DrawPointFast 就是原子代码里的 LCD_Fast_DrawPoint。

我是把原子的代码,按照学习进度,基本上都改成我自己的风格。所以名称可能会不太一样。
有软件开发经验,从0硬件基础学习STM32开发。
回复

使用道具 举报

8

主题

124

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
212
金钱
212
注册时间
2015-8-1
在线时间
7 小时
发表于 2015-8-18 20:15:35 | 显示全部楼层

这是我自己修改后的,不过我用的是3.5寸屏,LCD ID 是 0x5310,所以其他的我都删掉了。

[mw_shl_code=c,true]void LCD_DrawPointFast(u16 aX, u16 aY, ColorTypeDef aColor) { if(gLCDDevice.ID == 0x5310) { LCD_WR_REG(gLCDDevice.SetXCommand); LCD_WR_DATA(aX >> 8); LCD_WR_DATA(aX & 0xFF); LCD_WR_REG(gLCDDevice.SetYCommand); LCD_WR_DATA(aY >> 8); LCD_WR_DATA(aY & 0xFF); } LCD_WriteRegAndData(gLCDDevice.WriteRamCommand, aColor); }[/mw_shl_code]

有软件开发经验,从0硬件基础学习STM32开发。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-16 07:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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