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

  • Post author:
  • Post category:其他


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

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

32

2、设置输出,如图

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

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

这是软件生成的原字模:

处理后的字模

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

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

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

//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:当字体设置过大时函数可能会失效,目前笔者显示48×48的字体时就失效了,如有读者发现问题敬请指正




字符取模软件的压缩包,解压就可用-嵌入式文档类资源-CSDN下载


用于stm32的lcd显示屏显示中文字体取模更多下载资源、学习资料请访问CSDN下载频道.



https://download.csdn.net/download/eachanm/84261946




版权声明:本文为eachanm原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。