stm32用tft-lcd 显示自定义大小的字体

笔者用的开发环境是正点原子的stm32 mini 版本,其中需要用到lcd显示中文,正点原子的例程上的字体显示得太小了,于是自己根据例程来写一个可以显示大点字体的函数。

1、首先打开取模软件pctolcd2002,选好字体并做相应设置,笔者想显示32 x 32 的字体,于是设置汉字点阵宽高都为32,字宽和字高也是32,如下图32

2、设置输出,如图

接着输入要显示的字体,并点击生成字模

 3、接着对生成的字模做处理,如下图:

这是软件生成的原字模:

 处理后的字模

 处理其实就是将它用{}把一个字的字模单独括起来,然后将字模在工程文件中定义

因为32X32的每个字占128个字节,所以数组后面是128。

 4、定义使用32x32字体的函数

//x,y屏幕的位置
//index,字所在数组的位置,在本例中“你”就是0,“好”为1
//font_color 字的颜色
//back_color 背景颜色


void LCD_ShowTitle(u16 x,u16 y,u8 index,u16 font_color,u16 back_color)
{ 
	u8 temp,t,t1,size = 32;
	u16 y0=y;
    u8 csize= (size*size - 64)/8;//得到字体一个字符对应点阵集所占的字节数
	 for(t=0;t<csize;t++)
	 { 
			temp=a[index][t]; 
		
			 for(t1=0;t1<8;t1++)
			{
				if(temp&0x80)LCD_Fast_DrawPoint(x,y,font_color);
				else LCD_Fast_DrawPoint(x,y,back_color);
				temp<<=1;
				y++;
				if((y-y0)==size)
				{
					y=y0; x++;
					break;
				}
			} 
	 } 
}

5、调用

LCD_ShowTitle(20,20,0,0xFFFF,0x0000);

如需要显示其他字体大小的,直接修改字模然后调用此函数,修改 函数里的size的值即可。

ps:当字体设置过大时函数可能会失效,目前笔者显示48x48的字体时就失效了,如有读者发现问题敬请指正

字符取模软件的压缩包,解压就可用-嵌入式文档类资源-优快云下载用于stm32的lcd显示屏显示中文字体取模更多下载资源、学习资料请访问优快云下载频道.https://download.youkuaiyun.com/download/eachanm/84261946

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

eachanm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值