TFT显示屏-16x16英文字体取模说明

  • 16x16中文字体取模说明
尺寸设置如下图所示:


取模成功后需要定义以下结构体数组存放取模数据(结构体定义见中英文显示取模设置):
const typFNT_GB16 tfont16[]=   
{
  "中",0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x21,0x08,0x21,0x08,0x21,0x08,
  0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
};
函数定义如下:
void GUI_DrawFont16(u16 x, u16 y, u16 fc, u16 bc, u8 *s,u8 mode)
{
   u8 i,j;
   u16 k;
   u16 HZnum;
   u16 x0=x;
   HZnum=sizeof(tfont16)/sizeof(typFNT_GB16);	//自动统计汉字数目
   for (k=0;k<HZnum;k++) 
   {
       if((tfont16[k].Index[0]==*(s))&&(tfont16[k].Index[1]==*(s+1)))
       { 	
           LCD_SetWindows(x,y,x+16-1,y+16-1);
	   for(i=0;i<16*2;i++)
           {
		for(j=0;j<8;j++)
		{	
		     if(!mode) //非叠加模式:字体带有背景色,显示时会将原来显示的内容覆盖掉
		     {
			  if(tfont16[k].Msk[i]&(0x80>>j))
                          {	
                               Lcd_WriteData_16Bit(fc);
                          }			  
                          else 
                          {
                               Lcd_WriteData_16Bit(bc);
			  }
		     }
		     else //叠加模式:字体不带背景色,直接叠加显示到原来显示的内容上
		     {
			  POINT_COLOR=fc;
			  if(tfont16[k].Msk[i]&(0x80>>j))						
                          {
                               LCD_DrawPoint(x,y);//画一个点
			  }
			  x++;
			  if((x-x0)==16)
			  {
			       x=x0;
			       y++;
			       break;
			  }
		     }
	        }
	    }
	 }				  	
	 continue;  //找到对应点阵字库立即退出,防止多个汉字重复取模带来影响
    }
    LCD_SetWindows(0,0,lcddev.width-1,lcddev.height-1);//恢复窗口为全屏 
}

TAG: DTOF激光雷达传感器STL27L UART串口通信360°全方位激光雷达飞行时间测距 ESP32 C6开发板1.47寸LCD显示触摸屏172&amp;times;320 SD AXS5106L JD9853 树莓派5 PCIE转M.2 NVMe SSD固态硬盘扩展板定制一体Active Cooler 教程 红外摄像头 1.28寸旋钮屏LCD触摸显示屏圆形智能家居开关中控串口屏 ESP32-S3开发板 2.8寸圆形LCD显示屏480x480 触摸屏 板载加速度与陀螺仪QMI8658传感器/SD卡槽/电池接口/RTC/MP3喇叭音频 适用于Arduino 树莓派红外摄像头 树莓派SSD1357 树莓派云台 1.5寸OLED 激光测距激光雷达 树莓派PICO W Luckfox Pico Pro摄像头 树莓派2.13寸电子墨水屏e-paper宠物Pwnagotchi旭日派Jetson Nano 热成像摄像头 MLX90640-D55-Thermal-Camera教程 树莓派Pico 2 RP2350 CAN开发板XL2515 DeepSeek ESP32 S3开发板2.06寸AMOLED显示屏 小智AI语音聊天 可编程手表 410×502触摸 树莓派5寸LCD触摸显示屏 720x1280 PC电脑副屏HDMI 树莓派PICO 1024x600