LCD显示汉字的两种算法分析

 1.1. 原因

原有的LCD显示汉字函数例程只能显示带背景的汉字,也就是说如果要在图片上显示一个汉字,那就会出现一个矩形框,底色为我们设定的颜色。而不能实现单独显示汉字,不显示背景的要求。

 LCD显示汉字的两种算法分析_设计制作_RF/无线

 1.2. 代码

//x、y字符的一个字符的左上角的坐标
/***
pointColor: 要显示的字符的颜色
backColor: 字符的背景颜色
*pChineseData :字符取模数据
***/
//fontSize : 字体大小
void LCD_ShowChinese(u16 x,u16 y,u8 fontSize,u16 pointColor,u16 backColor,u8 *pChineseData)
{
u32 i;
u8 j =0;
/*****************************************************/
LCD_ILI9486_CMD(0x2A);           //设置列地址的起始地址
LCD_ILI9486_Parameter(x>>8);
LCD_ILI9486_Parameter(x&(0xFF));
//设置列地址的结束地址
LCD_ILI9486_Parameter((x+fontSize-1)>>8);
LCD_ILI9486_Parameter((x+fontSize-1)&(0xFF));
/*****************************************************/
LCD_ILI9486_CMD(0x2B);          //设置行地址的起始地址
LCD_ILI9486_Parameter(y>>8);
LCD_ILI9486_Parameter(y&(0xFF));
//设置行地址的结束地址
LCD_ILI9486_Parameter((y+fontSize-1)>>8);
LCD_ILI9486_Parameter((y+fontSize-1)&(0xFF));
LCD_ILI9486_CMD(0x2C);         //写显存的命令
for(i=0;i<(fontSize*fontSize);i++)
{
if((*pChineseData)&(1<<(7-j)))
{
LCD_ILI9486_Parameter(pointColor);
}
else
{
LCD_ILI9486_Parameter(backColor);
}
j = j +1;
if(j ==8)
{
j =0;
pChineseData++;
}
}
}

 LCD显示汉字的两种算法分析_设计制作_RF/无线

 1.3. 解决思路

参照LCD显示字符的函数,不使用一个个数据连续传输,而是使用一个一个画点的办法,这样,在不需要显示汉字的地方可以选择不打点,这样就能实现镂空汉字的效果。

通过每进行一次循环处理一个字节的原理,计算出当前字节的每一个位对应的坐标,然后在相应的坐标选择打点或者不打点即可。

 1.4. 代码

//x、y字符的一个字符的左上角的坐标
/***
pointColor: 要显示的字符的颜色
backColor: 字符的背景颜色
*pChineseData :字符取模数据
***/
//fontSize : 字体大小:16表示 16*16的字体,32表示32*32的字体,64表示64*64的字体,
void LCD_ShowChinese_fill(u16 x,u16 y,u8 fontSize,u16 pointColor,u16 backColor,u8 *pChineseData)
{
u32 i;
u8 j =0;
u8 k =0;     //计算当前字节处于该行的位置(第几个字节)
u8 d =0;     //计算当前字节处于第几列
for(i=0;i<(fontSize*fontSize);i++)
{
if((*pChineseData)&(1<<(7-j)))
{
LCD_Draw_Point(x+j+k*8, y+d, pointColor);
}
else
{
LCD_Draw_Point(x+j+k*8, y+d, backColor);
}
j = j +1;
if(j ==8)
{
j =0;
pChineseData++;
k++;       //计算当前字节处于该行的位置
if(k>=(fontSize/8))
{
k=0;       //计算当前字节处于该行的位置
d++;         //计算当前字节处于第几列的位置
}
}
}
}

 LCD显示汉字的两种算法分析_设计制作_RF/无线


93
6
0
54

相关资讯

  1. 1、任正非称5G是小儿科的产品因低时延成人工智能支撑1437
  2. 2、如何防止将房子租给精神病人?爱彼迎表示AI有办法3729
  3. 3、首尔市携创新技术与产品亮相CES2020将单独设馆787
  4. 4、IDC发布中国智能家居2020十大预测将转向规模化发展3340
  5. 5、谷歌云大会如火如荼举行中多款新企业产品浮出水面990
  6. 6、IDC发布预测新技术将保证企业级存储市场平稳增长2134
  7. 7、全国首个公交人脸识别测温仪投入试运行快速且准确4186
  8. 8、集思广益“众包+人工智能”为患者带来对抗肺癌的希望749
  9. 9、孙正义:AI科目应纳入日本高考自动驾驶要抓紧研究271
  10. 10、三星全新人工智能模型一张照片就能生成面部视频!2691
全部评论(0)
我也有话说
0
收藏
点赞
顶部