width和height指的是不是所显示的字符串所占区域大小.

2019-08-23 14:19发布

本帖最后由 richthoffen 于 2017-4-3 10:48 编辑

倒数第二排 x+=size/2;显示下一个字符时,一个字符纵向有一个size(y+=size;)横向只有半个size( x+=size/2;),有点疑惑,请教大家了.

//显示字符串
//x,y:起点坐标
//width,height:区域大小  
//size:字体大小
//*p:字符串起始地址                  
void LCD_ShowString(u16 x,u16 y,u16 width,u16 height,u8 size,u8 *p)
{         
        u8 x0=x;
        width+=x;
        height+=y;
    while((*p<='~')&&(*p>=' '))//判断是不是非法字符!
    {      
        if(x>=width){x=x0;y+=size;}
        if(y>=height)break;//退出
        LCD_ShowChar(x,y,*p,size,0);
        x+=size/2;
        p++;
    }  
}




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。