TFT显示屏-32x32英文字体取模说明

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


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

TAG: 树莓派夜视摄像头 T Watch S3 ESP32 S3 PMU 1.54寸可触摸显示屏编程手表 SX1262 433/868/915MHz兼容LILYGO 树莓派8.8寸LCD DSI显示屏MIPI触摸屏480x1920 PDF DAPLINK Luckfox Pico MINI 串口服务器 三键键盘 树莓派CM4 2.8英寸MIPI 电容触摸屏扩展板 小巧千兆网口4路USB2.0 树莓派1.3寸LCD显示屏带游戏按键和喇叭适用于Zero 2W /3B/4B/PI5/RP2040-PiZero 树莓派4摄像头 ESP32 S3 4.3寸斑梨教程资料程序代码PDF手册 Milk-V Duo摄像头 MiniPCIe接口CAN卡双通道 USB转Can带电气隔离和多重保护电路Linux/Windows 树莓派5 POE + PCIE M.2 NVME SSD固态硬盘 Pi5 2242/2230 Pi5以太网供电教程 Milk-V Duo S 512MB SG2000 RISC-V linux 芯片数据手册 树莓派X630转接板 兼容HDMI转CSI-2模块 支持音视频 1080p60fps UART-WIFI232-B2 树莓派UPS电源 ESP32 LVGL