OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3092|回复: 6

图片我想不显示它的背景颜色,然后做了个判断if(bitmap1[k]!=0xc7d6),结果显示不正常,各位请问是怎么回事啊?

[复制链接]

10

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
233
金钱
233
注册时间
2015-11-16
在线时间
75 小时
发表于 2015-12-28 16:15:16 | 显示全部楼层 |阅读模式
1金钱
90.jpg 2.4寸彩屏的
void LCD_ili9341_DrawPicture(unsigned short StartX,unsigned short StartY,unsigned short Wid,unsigned short High,const unsigned char *pic)//const unsigned char *pic)
{
        const unsigned short *bitmap1 = (const unsigned short *)pic;
        unsigned short i=0,j=0,k=0;
        LCDOpenWindows(StartX,StartY,Wid,High);//设置窗口
        for(i=0;i<High;i++)
        {
                for(j=0;j<Wid;j++)
                {
if(bitmap1[k]!=0xc7d6)ILI9341_Write_Data(bitmap1[k]); k++;

                }      
        }
}


上面那种图片我想不显示它的背景颜色,然后做了个判断if(bitmap1[k]!=0xc7d6),结果显示不正常,各位请问是怎么回事啊?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
233
金钱
233
注册时间
2015-11-16
在线时间
75 小时
 楼主| 发表于 2015-12-28 16:17:50 | 显示全部楼层
去掉if(bitmap1[k]!=0xc7d6)一切正常,就是带有背景颜色,程序应该怎么样写才不显示背景颜色呢,原子哥
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2015-12-28 16:42:55 | 显示全部楼层
本帖最后由 ricefat 于 2015-12-28 16:45 编辑

你这个绘图函数是利用9341屏幕主控中GRAM指针自动加1实现的,你填入一个像素的数据后,GRAM指针会自动移到下一个像素的GRAM地址。反过来,你不填填数据,指针就不会移到下一个像素,造成你的图片显示错乱。PS:主控的数据手册一定要看。
回复

使用道具 举报

10

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
233
金钱
233
注册时间
2015-11-16
在线时间
75 小时
 楼主| 发表于 2015-12-28 17:51:37 | 显示全部楼层
ricefat 发表于 2015-12-28 16:42
你这个绘图函数是利用9341屏幕主控中GRAM指针自动加1实现的,你填入一个像素的数据后,GRAM指针会自动移到 ...

k++不是已经移动了吗
回复

使用道具 举报

2

主题

239

帖子

0

精华

高级会员

Rank: 4

积分
545
金钱
545
注册时间
2015-6-5
在线时间
110 小时
发表于 2015-12-28 17:58:32 | 显示全部楼层
china043 发表于 2015-12-28 17:51
k++不是已经移动了吗

括號寫完整很困難嗎
回复

使用道具 举报

7

主题

85

帖子

0

精华

初级会员

Rank: 2

积分
163
金钱
163
注册时间
2011-3-3
在线时间
12 小时
发表于 2015-12-28 18:44:51 | 显示全部楼层
K移动有毛用
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2015-12-28 18:50:44 | 显示全部楼层
china043 发表于 2015-12-28 17:51
k++不是已经移动了吗

k++移动的是你图片数组的位置,而不是屏幕主控。屏幕主控只有同过写数据或是开窗指令移动。多看看屏幕主控的数据手册。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 18:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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