初级会员

- 积分
- 169
- 金钱
- 169
- 注册时间
- 2013-4-6
- 在线时间
- 3 小时
|
发表于 2013-7-18 16:40:18
|
显示全部楼层
取模的方式跟你的显示代码有非常绝对的关系...
底下是显示 96x48 这么大的数字 ... 取模方式是最普通的 "由左至右" -> "由上到下" .
如果按LCD扫描的方式来对应取模, 则显示代码可以写的非常轻松, 就像画一个颜色区块那样简单的.
void Gui_DrawFont_Num96x48(u16 x, u16 y, u16 fc, u16 bc, u16 num)
{
unsigned char i,j,k,c;
if (USE_HORIZONTAL==1) // 按螢幕預設方向調整寫入窗口設置
Lcd_SetRegion(y, (LCD_W-48)-x, y+95, (LCD_W-48)-x+47); // 設定顯示視窗框對應
else
Lcd_SetRegion(x,y,x+47,y+95); // 設定顯示視窗框對應
for(i=0;i<96;i++)
{
for(j=0;j<6;j++)
{
c=*(sz96x48+num*96*6+i*6+j);
for (k=0;k<8;k++)
{
LCD_WriteRAM_Prepare(); // 寫入GRAM命令
if(c&(0x80>>k)) LCD_WriteRAM(fc); // 寫入前景顏色值
else {
if (fc!=bc) LCD_WriteRAM(bc); // 寫入背景顏色值
}
}
}
}
} |
|