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: ESP32-S3小智AI电子墨水屏7.3寸E6全彩相框Deepseek e-Paper 树莓派显示屏 ESP32-P4核心板PSRAM 32MB Flash 16MB开发板Core板载ESP32-C6 2.8寸LCD电容触摸显示屏ST7789适用于Arduino树莓派ESP32 Pico CST328 ESP32 S3 RS485 树莓派Pico2 Raspberry Pi Pico 2开发板RP2350双核ARM Cortex-M33和RISC-V Hazard3 树莓派5 PCIE转M.2 NVME 千兆网口 电子标签 数据手册 树莓派5 27W电源 ESP32-S3 4.3寸LCD电容触控显示屏(B)板载CAN/I2C/RS485/传感器 树莓派5亚克力外壳 TVBOX套件-幸狐Luckfox Pico Ultra带4寸电容触摸显示屏LCD电视盒子 开发板 树莓派CM5计算模块IO底板NANO A扩展底板Compute Module 5 气体传感器扩展板 数字 VOC 挥发性有机化合物传感器模块 树莓派5电源 SC09串行UART总线舵机电机双模式切换双向反馈2.3kg 300度 树莓派5 PCIe转M.2 4G 5G和USB 3.2 HUB转接板