TFT显示屏-24x24英文字体取模说明

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


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

TAG: 树莓派Pico显示屏1.54寸LCD模块 240×240像素 lilygo 商场电子标签 ESP32 S3开发板2.1寸LCD触摸显示屏480 HMI LVGL带QMI8658 6轴加速度陀螺仪 数据手册 X1202 树莓派5 UPS电源管理扩展板18650不间断供电模块 Milk-V Duo RJ45 Pi5 Double 2280 树莓派CM5计算模块IO扩展底板B Compute Module 5加密芯片EEPROM Arducam 64MP Camera 树莓派PICO远距离通信 树莓派6.25 寸LCD DSI显示屏MIPI触摸屏720x1560 Arduino UNO R3 无线串口 Raspberry Pi 5专用外壳 树莓派5 M.2 迷你USB转UART TTL FT232串口通信模块原装FT232RNL 树莓派7寸DSI MIPI显示屏LCD 720x1280 ESP32-P4 Luckfox Lyra RK3506/Omni3576 一体式电容指纹模块 Cortex 内核 UART 串口 高精度指纹识别 荔枝派糖Lichee Tang Nano 9K高云FPGA GOAI Sipeed GW1NR-9