【请教】LCD显示里面X、Y方向的问题
《裸奔三部曲》里面的原话“屏幕显示的坐标系为左上角为(0、0)点,屏幕有方向为+Y方向,屏幕下方向为+X方向”那为什么后面的语句是if(((x0+x)<SCR_XSIZE_TFT)&&((y0+y)<SCR_YSIZE_TFT))
LCD_BUFFER=c;
TQ2440的屏幕不是320*240的嘛,既然这样,SCR_XSIZE_TFT=320呀,到底X、Y的方向是怎么回事咯 1# 圈圈虫
看明白了,因为我是用MINI2440的板子,所以屏幕是240*320的
Paint_Bmp(0, 0, 240, 320, tu1_320240);
void Paint_Bmp(int x0,int y0,int h,int l,unsigned char bmp[])
{
int x,y;
U32 c;
int p = 0;
for( y = 0 ; y < l ; y++ )
{
for( x = 0 ; x < h ; x++ )
{
c = bmp | (bmp<<8) ;
if ( ( (x0+x) < SCR_XSIZE_TFT) && ( (y0+y) < SCR_YSIZE_TFT) )
LCD_BUFFER = c ;
p = p + 2 ;
}
}
}
X应该是指代的水平方向,Y是垂直方向,作者在
void Paint_Bmp(int x0,int y0,int h,int l,unsigned char bmp[]);函数中把"h"与"l"写反了,让我误解了,在这里就把"h"理解成图像的宽,"l"理解成图像的高吧。打搅大家了哈:) :) 3# embedsky_lxt
额,多谢版主鼓励。最近在把TQ2440的裸机程序往MINI2440上面移植,今天解决了屏幕显示的通用问题,晚点入手触摸屏了
页:
[1]