TFT_LCD显示彩 {MOD}图片,自己写底层函数

2019-08-13 20:44发布

本帖最后由 aiyeba 于 2017-2-16 15:15 编辑

1、先从网上下载240*320的图片

2、然后用画图软件转成BMP格式的


3、用软件输出数组


4、最后调用一个函数



void DisplayPicture(void)
{           
                u16 temp,pos,t;  
                LCD_SetCursor(0x00,0x0000);
                LCD_WriteRAM_Prepare();
               for(pos=0;pos<320;pos++)
                {
                        for(t=0;t<240*2;t++)
                        {
                                temp=gImage[pos*480+t]*256+gImage[pos*480+t+1];  //这个地方  改成gImage[pos*480+t]<<8+gImage[pos*480+t+1];  好像有问题
                                t++;                                
                               LCD_WriteRAM(temp);      //理解这个函数  对摄像头那一章才能有真正的理解                           
                        }                                
                }               
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
47条回答
479123159
1楼-- · 2019-08-16 13:42
本帖最后由 479123159 于 2017-4-4 16:38 编辑

我显示图片的时候,无论怎么弄边上都会有重复的部分图片,也不知道什么原因。
aiyeba
2楼-- · 2019-08-16 16:31
479123159 发表于 2017-4-4 16:14
我显示图片的时候,无论怎么弄边上都会有重复的部分图片,也不知道什么原因。

我的 是竖屏
JACK123
3楼-- · 2019-08-16 20:38
 精彩回答 2  元偷偷看……
aiyeba
4楼-- · 2019-08-16 23:54
479123159 发表于 2017-4-4 15:54
temp=gImage*256+gImage;
老哥,能讲解一下这句的意思吗?

一个像素需要2个字节,那么每一行呢就是  480个字节    。

POS表示的是第几行,pos从0开始    于是  gImage【0】*256+gImage【1】
这俩个字节组成16位   描述的是第一个点   一个彩 {MOD}的点   

在说细一点   16位  RGB565      可以调出任意颜 {MOD}来     一个个点组成了图片
bg6qbt
5楼-- · 2019-08-17 03:39
早上玩过了。
JACK123
6楼-- · 2019-08-17 07:29
南有乔木 发表于 2017-2-16 14:43
哎呀,妥了,谢谢啦!!!

能讲解下思路么

老师问一下您是怎么解决的

一周热门 更多>