天嵌 ARM开发社区

 找回密码
 注册
查看: 1846|回复: 3

【请教】LCD显示里面X、Y方向的问题

[复制链接]
圈圈虫 发表于 2011-1-18 09:53:11 | 显示全部楼层 |阅读模式
《裸奔三部曲》里面的原话“屏幕显示的坐标系为左上角为(0、0)点,屏幕有方向为+Y方向,屏幕下方向为+X方向”那为什么后面的语句是
if(((x0+x)<SCR_XSIZE_TFT)&&((y0+y)<SCR_YSIZE_TFT))
     LCD_BUFFER[y0+y][x0+x]=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[p+1] | (bmp[p]<<8) ;
        if ( ( (x0+x) < SCR_XSIZE_TFT) && ( (y0+y) < SCR_YSIZE_TFT) )
        LCD_BUFFER[y0+y][x0+x] = 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上面移植,今天解决了屏幕显示的通用问题,晚点入手触摸屏了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-6-7 01:05 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表