TFT显示取模大数字有问题,请教一下

2019-07-21 07:06发布

使用min板的想让TFT显示大数字直接照着原子哥的显示汉子的函数改了一个40*40的点阵显示函数,显示汉子是没有问题的,因为我想显示大约60*60的大数字通过取模发现汉子和数字所占字节的大小是不一样的,所以自己就在这个44*40的函数中的通过,取模数字,将偏移20补偿,实际大小和汉子的大小是一样的。但是现在的显示有的时候会显示白框,大家有什么好的办法显示大数字的办法,指点一点一下,谢谢[mw_shl_code=applescript,true]//在指定位置 显示1个40*40的汉字
//(x,y):汉字显示的位置
//index:tfont数组里面的第几个汉字
//color:这个汉字的颜 {MOD}
//color1:背景颜 {MOD}
void Test_Show_CH_Font40(u16 x,u16 y,u8 index,u16 color,u16 color1)
{                               
        u16 temp,t,t1;
        u16 y0=y;                                  
    for(t=0;t<200;t++)//每个40*40的汉字点阵 有200个字节
    {   
                if(t<40)temp=tfont40[index*5][t];                  //前50个字节
                else if(40<t<80)temp=tfont40[index*5+1][t-40];     //中50个字节
        else if(120<t<160)temp=tfont40[index*5+2][t-120];  //中50个字节
        else temp=tfont40[index*5+3][t-40];                //后50个字节
        
            for(t1=0;t1<8;t1++)
                {
                        if(temp&0x80)LCD_Draw_Point(x,y,color);//画实心点
                        else LCD_Draw_Point(x,y,color1);   //画空白点(使用背景 {MOD})
                        temp<<=1;
                        y++;
                        if((y-y0)==40)
                        {
                                y=y0;
                                x++;
                                break;
                        }
                }           
    }         
}[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
萝卟
1楼-- · 2019-07-21 10:26
你可以试一下,现在不是汉字点阵大小为60*40将它整体放大两倍,应为数字是占用汉字的一般的位数。你取模出来以后是你想要的大小的一半。
usb123
2楼-- · 2019-07-21 16:24
萝卟 发表于 2018-12-6 11:31
你可以试一下,现在不是汉字点阵大小为60*40将它整体放大两倍,应为数字是占用汉字的一般的位数。你取模出 ...

现在放大就是想按照这个思路去做的,但是现在已经发现有点bug了就是显示的时候会有小白框,一半的时间是正常的,,所有现在再发放大也还是会有问题的
sammy902583
3楼-- · 2019-07-21 19:24
取模的时候, 注意观察每个字的大小有多少个画素.
下断点去看, 在画每个字元的时候, 实际程序在运行的时候x方向有没有多跑了.
选字形的时候, 尽量选固定宽度的字元, 否则要改可以支持可变宽度的取模软件, 和修改显示程序支持.
萝卟
4楼-- · 2019-07-21 20:51
 精彩回答 2  元偷偷看……

一周热门 更多>