弱弱地問一句,TFTLCD顯示BMP圖像時,假設圖像是100*100像素,設定的寬度和高度是50*25,是怎么打點的,省略一些點不打嗎
正點原子的這行代碼有壇友研究嗎,還望賜教
if(rgb==color_byte) //水平方向讀取到1像素數數據后顯示
{
if(x<picinfo.ImgWidth)
{
realx=(x*picinfo.Div_Fac)>>13;//x軸實際值
if(is_element_ok(realx,realy,1)&&yok)//符合條件
{
pic_phy.draw_point(realx+picinfo.S_XOFF,realy+picinfo.S_YOFF-1,color);//顯示圖片
}
}
x++;//x軸增加一個像素
color=0x00;
rgb=0;
}
countpix++;//像素累加
if(countpix>=rowlen)//水平方向像素值到了.換行
{
y--; //從下到上
if(y==0) break;
realy=(y*picinfo.Div_Fac)>>13;//實際y值改變
if(is_element_ok(realx,realy,0))yok=1;//此處不改變picinfo.staticx,y的值
else yok=0;
x=0;
countpix=0;
color=0x00;
rgb=0;
}
}
res=f_read(f_bmp,databuf,readlen,(UINT *)&br);//讀出readlen個字節
if(br!=readlen)readlen=br; //最后一批數據
if(res||br==0)break; //讀取出錯
bmpbuf=databuf;
count=0;
}
|