本帖最后由 kiiir00t 于 2013-10-16 01:30 编辑
屏的其他都功能没问题了,中文显示有问题,预定义的16X16点阵数据,不能超过8个字(预定义数据不能超过256) 即uchar code Zk_ASCII16X16[]={}里的数据不能多于256
求中文显示程序
这个中文程序是根据8*16英文显示瞎改的,能显示,但是问题大
//显示16*16的 中文字符串
void Display_ASCII16X16(uint x0,uint y0,uchar *s,unsigned short Color)
{
uint i,j,k,x,y,z,xx;
unsigned char qm;
long int ulOffset;
uchar ywbuf[32],temp[2];
for(i = 0; i<strlen((char*)s);i++)
{
qm = *(s+i);
ulOffset = (long int)(qm) * 32;
for(z=0;z<2;z++) //重复2次(8*16)点阵
{
for (j = 0; j < 16; j ++)
{
ywbuf[j]=Zk_ASCII16X16[ulOffset+j+z*16];
}
for (y = 0;y < 16;y++)
{
for (x=0;x<8;x++)
{
k=x % 8;
if (ywbuf[y]&(0x80 >> k))
{
xx=x0+x+i*16+z*8;
Output_Pixel(xx,y+y0,Color);
}
}
}
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>