用彩屏显示图片,图片大小取模24*32时,
字模为const unsigned char code gImage_picture[1680]={...};
显示函数为
void picture_play(uint16 xStart,uint16 xEnd,uint16 yStart,uint16 yEnd)
{
uint16 m;
cs=0;
TFT_SetRamAddr(xStart,xEnd-1,yStart,yEnd-1);
rs=1;
for(m=0;m<(1680/2);m++)
{
WriteDat(gImage_picture[m*2+1]);
WriteDat(gImage_picture[m*2]);
}
cs=1;
}
主函数中
picture_play(24,48,24,60);
能正常显示图片。
而改成36*48时,
字模为const unsigned char code gImage_picture[3072] ={...};
显示函数
void picture_play(uint16 xStart,uint16 xEnd,uint16 yStart,uint16 yEnd)
{
uint16 m;
cs=0;
TFT_SetRamAddr(xStart,xEnd-1,yStart,yEnd-1);
rs=1;
for(m=0;m<(3072/2);m++)
{
WriteDat(gImage_picture[m*2+1]);
WriteDat(gImage_picture[m*2]);
}
cs=1;
}
主函数中同样扫描
picture_play(24,60,24,72);
显示的图片就变成乱码。
为什么会这样,求指导
PCB打样找华强
http://www.hqpcb.com 样板2天出货
可48*56也不行啊。。 128*160也不行啊。。
24*32=768
1680/768=2.1875
36*48=1728
3072/1728=1.7777...
这两个比例都不对呀,一个像素点占几个字节?
不怎么清楚。。刚学。显示图片那函数是有个例程里这样写的,然后那个数组是用imageLcd取的。。
可以了。是不是取模后都要自己调整的?好像没有一个取模后的大小是对应我取模时设定的大小的
一周热门 更多>