OpenEdv-开源电子网

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

设一个gui_clear清除不掉的背景图片

[复制链接]

29

主题

246

帖子

0

精华

高级会员

Rank: 4

积分
968
金钱
968
注册时间
2014-10-9
在线时间
95 小时
发表于 2014-10-9 16:44:00 | 显示全部楼层 |阅读模式
5金钱
用什么办法将一个图片设成背景,通过gui_clear()不会被擦除掉?求大神帮个忙

最佳答案

查看完整内容[请看2#楼]

这个是我写的。你看一下。
淘宝小店,没事可以点一下增加点流量http://shop69767205.taobao.com/
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12090
金钱
12090
注册时间
2013-3-8
在线时间
1285 小时
发表于 2014-10-9 16:44:01 | 显示全部楼层
这个是我写的。你看一下。

GUIDEMO_Clock.rar

1.58 KB, 下载次数: 403

回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12090
金钱
12090
注册时间
2013-3-8
在线时间
1285 小时
发表于 2014-10-9 16:56:39 | 显示全部楼层
那你gui_clear()想起什么作用。只擦前景色?
回复

使用道具 举报

29

主题

246

帖子

0

精华

高级会员

Rank: 4

积分
968
金钱
968
注册时间
2014-10-9
在线时间
95 小时
 楼主| 发表于 2014-10-9 17:11:51 | 显示全部楼层
回复【2楼】augustedward:
---------------------------------
恩恩,差不多吧,我目的是将一张图片设成背景后,不要再被擦除掉
淘宝小店,没事可以点一下增加点流量http://shop69767205.taobao.com/
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12090
金钱
12090
注册时间
2013-3-8
在线时间
1285 小时
发表于 2014-10-10 08:28:03 | 显示全部楼层
回复【3楼】yuanxinfei:
---------------------------------
可以写段代码。只擦除要修改的矩形部分。然后再重刷修改部分的背景色,接着再刷前景。需要一个算法。
我之前写过一个,背景色不变的万年历。就是秒时间一直在变,
回复

使用道具 举报

29

主题

246

帖子

0

精华

高级会员

Rank: 4

积分
968
金钱
968
注册时间
2014-10-9
在线时间
95 小时
 楼主| 发表于 2014-10-10 08:48:51 | 显示全部楼层
回复【4楼】augustedward:
---------------------------------
回复【4楼】augustedward:
---------------------------------
我也是这样做的,可是我做的是秒表盘,因为这样做刷图太多,指针跑的时候有卡顿现象,没那么顺滑
淘宝小店,没事可以点一下增加点流量http://shop69767205.taobao.com/
回复

使用道具 举报

9

主题

126

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
226
金钱
226
注册时间
2014-4-3
在线时间
18 小时
发表于 2014-10-10 08:52:57 | 显示全部楼层
想要保留底色不被覆盖,那么你必须知道底色是什么东西,这样才能做到覆盖的时候,为1写入新的,为0写入旧的。

给个思路:
1.整张底图作为一个数组写入FLASH(GRAM不是人人都够的),完完全全明白这个数组的每一个数据所在平面的像素点位置。
2.画图函数的底色通过坐标轴读取出数组的值。
3.你的gui_clear()就可以刷的是那张底图的数组,哪里都行,因为你应该知道的。
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12090
金钱
12090
注册时间
2013-3-8
在线时间
1285 小时
发表于 2014-10-10 09:01:44 | 显示全部楼层
回复【5楼】yuanxinfei:
---------------------------------
秒表盘,只需要刷秒表指针走位置所在的矩形内刷新就可以了。
回复

使用道具 举报

29

主题

246

帖子

0

精华

高级会员

Rank: 4

积分
968
金钱
968
注册时间
2014-10-9
在线时间
95 小时
 楼主| 发表于 2014-10-10 09:12:30 | 显示全部楼层
回复【7楼】augustedward:
---------------------------------
我也是这样做的,可是面临一个问题,后面的背景图(背景图我是用添加位图GUI_DrawBitmap方式添上去的)也会被GUI_ClearRect()刷掉,然后我是通过抽取图片中一部分数组组成新的图片数组,再用添加位图方式补上去的,可是抽取图片中数据添加到新的数组这个步骤太耗时了,而且数组过大耗内存。有没有什么函数可以添加位图时从大位图中直接抽取一部分添加出来,跳过保存到新数组那个步骤
淘宝小店,没事可以点一下增加点流量http://shop69767205.taobao.com/
回复

使用道具 举报

29

主题

246

帖子

0

精华

高级会员

Rank: 4

积分
968
金钱
968
注册时间
2014-10-9
在线时间
95 小时
 楼主| 发表于 2014-10-10 09:26:46 | 显示全部楼层
回复【8楼】augustedward:
---------------------------------
程序已看,谢谢,那如果设置图片背景的时候怎么办呢,也是这样吗?
淘宝小店,没事可以点一下增加点流量http://shop69767205.taobao.com/
回复

使用道具 举报

29

主题

246

帖子

0

精华

高级会员

Rank: 4

积分
968
金钱
968
注册时间
2014-10-9
在线时间
95 小时
 楼主| 发表于 2014-10-10 09:28:10 | 显示全部楼层
回复【6楼】dixdsqaid:
---------------------------------
3.你的gui_clear()就可以刷的是那张底图的数组,哪里都行。
这句话没懂,是不是用GUI_DrawBitmap调用大位图里面的部分数组了?
淘宝小店,没事可以点一下增加点流量http://shop69767205.taobao.com/
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12090
金钱
12090
注册时间
2013-3-8
在线时间
1285 小时
发表于 2014-10-10 09:42:54 | 显示全部楼层
回复【10楼】yuanxinfei:
---------------------------------
设置图片背景,重刷不就行了?先刷背景,再刷前景
回复

使用道具 举报

29

主题

246

帖子

0

精华

高级会员

Rank: 4

积分
968
金钱
968
注册时间
2014-10-9
在线时间
95 小时
 楼主| 发表于 2014-10-10 10:08:38 | 显示全部楼层
回复【12楼】augustedward:
---------------------------------
恩恩,我试试,不知道会不会有卡顿现象,谢谢!
淘宝小店,没事可以点一下增加点流量http://shop69767205.taobao.com/
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-30 15:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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