圈圈虫 发表于 2011-1-18 09:53:11

【请教】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的方向是怎么回事咯

圈圈虫 发表于 2011-1-18 10:01:52

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"理解成图像的高吧。打搅大家了哈:)

天嵌_support1 发表于 2011-1-18 11:48:49

:)

圈圈虫 发表于 2011-1-18 19:08:37

3# embedsky_lxt


额,多谢版主鼓励。最近在把TQ2440的裸机程序往MINI2440上面移植,今天解决了屏幕显示的通用问题,晚点入手触摸屏了
页: [1]
查看完整版本: 【请教】LCD显示里面X、Y方向的问题