天嵌 ARM开发社区

 找回密码
 注册
查看: 1921|回复: 5

图片过大(eg:1024*768)显示出错的问题

[复制链接]
408751892 发表于 2011-4-16 13:45:11 | 显示全部楼层 |阅读模式
例子2.1更改图片显示程序:可显示任意大小的图片(屏幕范围内的内容)

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 ;
                                }
                        else  //超过相框边缘的数据跳过
                                {
                                if((x0+x)==SCR_XSIZE_TFT)
                                       
                                        {
                                                p=p+2*(x0+h-SCR_XSIZE_TFT);                                               
                                        }
                                       
                                if((y0+y)>=SCR_YSIZE_TFT)
                                       
                                        {
                                        p=p+2*(y0+l-SCR_YSIZE_TFT);
                                        }
                                }
                   
            }
    }
}

注:
{
但是这个程序在图片过大(eg:780*545)的时候会出现错误:显示这个程序结果
void HaltDabort(void)
{
Uart_Printf("Dabort exception!!!\n");
while(1);
}
}
 楼主| 408751892 发表于 2011-4-17 08:15:14 | 显示全部楼层
求高人指点一下~~
WTW11897 发表于 2011-4-24 13:46:10 | 显示全部楼层
U32 c; 是不是这里的问题。
一个像素是16位的
WTW11897 发表于 2011-4-24 13:53:31 | 显示全部楼层
呃。。。 应该不是这个问题
 楼主| 408751892 发表于 2011-5-1 16:00:56 | 显示全部楼层
4# WTW11897
主要是后面的那个中断错误时怎么来的不是很清楚。内存什么的分配设置的问题吗?
WTW11897 发表于 2011-5-2 22:35:52 | 显示全部楼层
是不是数组越界了呀,仔细看看程序
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-18 05:17 , Processed in 1.031250 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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