void Test_Show_CH_Font32(u16 x,u16 y,u8 index,u16 color)
{
u8 temp,t,t1;
u16 y0=y;
for(t=0;t<128;t++)//每个32*32的汉字点阵 有128个字节
{
if(t<32)temp=tfont32[index*3][t]; //前32个字节
else if(t<64)temp=tfont32[index*3+1][t-32]; //中32个字节
else if(t<96)temp=tfont32[index*3+2][t-64];
else temp=tfont32[index*3+3][t-96]; //后32个字节
for(t1=0;t1<8;t1++)
{
if(temp&0x80)LCD_Draw_Point(x,y,color);//画实心点
else LCD_Draw_Point(x,y,BACK_COLOR); //画空白点(使用背景 {MOD})
temp<<=1;
y++;
if((y-y0)==32)
{
y=y0;
x++;
break;
}
}
}
}
我想显示点阵为32的汉字,占用字节在32*32位,我的测试汉字函数如下
void TEST_FONT(void)
{
u8 t;
u8 x;
x=50;
for(t=0;t<3;t++)//6个汉字
{
Test_Show_CH_Font32(x,90,t,RED);
x+=32;
}
}
结果在屏幕上显示的“模式一”三个大字是交错的~,希望哪位大侠帮帮忙,或者原子大哥帮帮忙,不甚感激~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>