OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2227|回复: 2

求一个取模版的(不用字库的)mini版24×24汉字显示函数

[复制链接]

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
发表于 2018-6-28 13:52:04 | 显示全部楼层 |阅读模式
50金钱
本帖最后由 h418452224 于 2018-6-28 15:51 编辑

unsigned char const hanzi_24x24[15][24]={

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x08,0x08,0x40,0xF8,0x0F},
{0x40,0x00,0x0C,0x40,0x00,0x04,0x40,0x00,0x04,0x40,0x00,0x04,0xE0,0xFF,0x07,0xA0,0x11,0x04,0x20,0x08,0x04,0x20,0x08,0x04},
{0x30,0x08,0x04,0x20,0x08,0x06,0x00,0x00,0x06,0x00,0x00,0x06,0x00,0x00,0x06,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00},/*"正",0*/
{0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x02,0x00,0x00,0x03,0x00,0x80,0x01,0x00,0xC0,0x00,0x80,0x78,0x38,0x80,0xF0,0x3F},
{0x80,0x0C,0x08,0x80,0x03,0x08,0xE0,0x41,0x08,0xBC,0x40,0x08,0xCC,0x40,0x08,0x40,0x60,0x08,0x40,0xFE,0x07,0x40,0x22,0x04},
{0x60,0x20,0x04,0x60,0x20,0x04,0x00,0x20,0x04,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00},/*"在",1*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x08,0x00,0x00,0x0C,0x00,0x07,0x06,0xE0,0x83,0x01},
{0x40,0xE2,0x00,0x00,0x3A,0x10,0x00,0x6F,0x08,0xFC,0xD1,0x08,0x38,0x91,0x05,0x00,0x11,0x07,0x00,0xF9,0x07,0x80,0x79,0x0C},
{0x90,0x10,0x18,0x90,0x00,0x38,0x30,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00},/*"发",2*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x04,0x02,0x10,0xFC,0x03,0x30,0x04,0x02,0x60,0x00,0x04},
{0x00,0x10,0x04,0x00,0x10,0x04,0x00,0x10,0x05,0x30,0x92,0x08,0x60,0x71,0x08,0x80,0x3F,0x18,0x80,0x0F,0x18,0x60,0x09,0x10},
{0xB8,0xC9,0x30,0x98,0x88,0x31,0x08,0x08,0x31,0x00,0x08,0x10,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00},/*"送",3*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x1F,0x00,0x00,0x7D,0x00,0x00,0x21,0x00},
{0x00,0x21,0x00,0x00,0x21,0x00,0x04,0x21,0x00,0xFC,0xFF,0x7F,0xF8,0x13,0x00,0x80,0x10,0x00,0x80,0x10,0x00,0x80,0x10,0x00},
{0xC0,0x10,0x00,0xC0,0x1F,0x00,0xC0,0x17,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"中",4*/
}

我用取模软件生成了5个24×24的汉字
程序参考了论坛里16×16汉字显示函数,修改成:
void ili9320_PutHanzi24X24(u16 x,u16 y,u8 n,u16 charColor,u16 bkColor)
{      
        u16 i=0;
  u16 j=0;
        u16 k=0,m=0;
  u8 tmp_char=0;
for(m=0;m<3;m++)
        {
                for (i=0;i<12;i++)
                {
                        for(k=0;k<2;k++)
                        {
                                tmp_char=hanzi_24x24[n+m][2*i+k];
                                for (j=0;j<12;j++)//????8?
                                {
                                        if ( (tmp_char >> j) & 0x01 == 0x01)
                                        {
                                                LCD_Fast_DrawPoint(x+j+(k*12),y+12*m+i,charColor);
                                        }
                                        else
                                        {
                                                LCD_Fast_DrawPoint(x+j+(k*12),y+12*m+i,bkColor);
                                        }
                                }
                        }
                }
        }
}

可是出来液晶是乱码,请教论坛里的大神帮助!

原贴http://www.openedv.com/forum.php ... B%D3%C3%D7%D6%BF%E2

下午3点48分我搞出来了24X24的字体显示了


我网上参考了一个函数,是从原子哥的LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode)函数修改了一部分
具体函数如下:
void LCD_Show_CH_Font24(u16 x,u16 y,u8 index,u16 color)
{      
u8 temp,t,t1;
u16 y0=y;
  
    for(t=0;t<72;t++)//??24*24????? ?72???
    {   
if(t<24)temp=hanzi_24x24[index*3][t];           //?24???
else if(t<48)temp=hanzi_24x24[index*3+1][t-24]; //?24???
                        
        else temp=hanzi_24x24[index*3+2][t-48];         //?24???
   for(t1=0;t1<8;t1++)
{
if(temp&0x80)LCD_Fast_DrawPoint(x,y,color);//????
else LCD_Fast_DrawPoint(x,y,BACK_COLOR);   //????(?????)
temp<<=1;
y++;
if((y-y0)==24)
{
y=y0;
x++;
break;
}
}  

    }         
}

取模方式我采用的是逐列和顺向。具体我再研究研究。



微信图片_20180628155059.jpg

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-6-28 13:52:05 | 显示全部楼层
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-6-28 14:49:43 | 显示全部楼层
顶一下先,我继续研究。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-28 00:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表