OpenEdv-开源电子网

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

如何在emwin中使用图片做背景啊!就是所有控件都在图片之上!

[复制链接]

3

主题

6

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2015-4-13
在线时间
2 小时
发表于 2015-11-30 08:55:51 | 显示全部楼层 |阅读模式
5金钱
如题,如何在emwin中使用图片做背景啊!就是所有控件都在图片之上!

最佳答案

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

WM_PAINT消息中绘制背景图片
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-11-30 08:55:52 | 显示全部楼层
WM_PAINT消息中绘制背景图片
开往春天的手扶拖拉机
回复

使用道具 举报

3

主题

6

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2015-4-13
在线时间
2 小时
 楼主| 发表于 2015-11-30 10:25:15 | 显示全部楼层
回复【2楼】zuozhongkai:
---------------------------------
可以直接调用,SD卡中的图片吗
回复

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2015-11-30 12:43:24 | 显示全部楼层
回复【3楼】齐峰311:
---------------------------------
可以,要速度快的话,先读取到SRAM中,再刷进去即可,或者利用emwin中的存储设备做缓冲
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

9

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-7-16
在线时间
51 小时
发表于 2017-5-16 14:37:38 | 显示全部楼层
八度空间 发表于 2015-11-30 12:43
回复【3楼】齐峰311:
---------------------------------
可以,要速度快的话,先读取到SRAM中,再刷进去即 ...

版主您好呀!就是您说的这个方法,我刚刚试了下。我是用emwin的存储设备做缓冲来实现的,自己写的函数,只是在窗口重绘的时候调用一下。现在发现一个问题,就是我按了按钮以后,按钮位置会重复刷新几次,并且同时连文本框也刷掉了。您知道这是怎么回事吗?
回复

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2017-5-16 20:58:02 | 显示全部楼层
花开的时候微笑 发表于 2017-5-16 14:37
版主您好呀!就是您说的这个方法,我刚刚试了下。我是用emwin的存储设备做缓冲来实现的,自己写的函数, ...

背景重绘
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

9

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-7-16
在线时间
51 小时
发表于 2017-5-17 09:12:05 | 显示全部楼层

谢谢回复!已经解决问题了,是因为在窗口重绘的时候进行太多操作了。
回复

使用道具 举报

6

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2013-8-15
在线时间
44 小时
发表于 2018-5-21 09:06:04 | 显示全部楼层
花开的时候微笑 发表于 2017-5-17 09:12
谢谢回复!已经解决问题了,是因为在窗口重绘的时候进行太多操作了。

请问你能介绍一下你的步骤吗?我现在也是要做一个背景图,然后在背景图上做多个页面的显示。我想步骤是:先做一个背景window,它是第一层,然后其他的窗口作为第二层,显示在第一层之上。所有的第二层全部是透明窗口,并第二层窗口里绘制按钮等控件。Framewin的Dialog因为有标题栏和边沿栏,所以我不打算用它。
回复

使用道具 举报

6

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2013-8-15
在线时间
44 小时
发表于 2018-5-28 10:56:26 | 显示全部楼层
请问,楼主能提供一下你的解决方案和代码示例吗?
回复

使用道具 举报

55

主题

474

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2374
金钱
2374
注册时间
2017-8-7
在线时间
207 小时
发表于 2018-5-31 19:37:38 | 显示全部楼层
xyzjacky 发表于 2018-5-28 10:56
请问,楼主能提供一下你的解决方案和代码示例吗?

我也在纠结这个问题,我的用法和你是一样的,window窗口作为第一层,然后有子窗口就在第二层,我屏幕是800*480的,开启emwin存储设备之后读取小的bmp图片不会卡,但是程序存不下一整张800*480的bmp,只能存储别的格式的,RLE8格式,但是这个用起来屏幕就会乱闪,不知道怎么回事
qq1950361006,互帮互助,共同进步。
回复

使用道具 举报

6

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2013-8-15
在线时间
44 小时
发表于 2018-6-1 16:33:18 | 显示全部楼层
本帖最后由 xyzjacky 于 2018-6-1 16:34 编辑
kbq1950361006 发表于 2018-5-31 19:37
我也在纠结这个问题,我的用法和你是一样的,window窗口作为第一层,然后有子窗口就在第二层,我屏幕是80 ...

请问你当前的解决方案是什么。我当前能实现的是,把BMP的图片的数据存到片外flash中。第一层窗口显示时,是需要从片外flash中读取的。然后用text文本控件显示数据(实为字符串),数据要用sprintf转成字符串。
回复

使用道具 举报

55

主题

474

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2374
金钱
2374
注册时间
2017-8-7
在线时间
207 小时
发表于 2018-6-1 16:38:04 | 显示全部楼层
xyzjacky 发表于 2018-6-1 16:33
请问你当前的解决方案是什么。我当前能实现的是,把BMP的图片的数据存到片外flash中。第一层窗口显示时, ...

我用文件系统了,图片存在spiflash里,bmp格式的比较快,别的格式好慢的,我现在一个图片是800*480,750K大小,想办法减小图片,之前有一个弄到了350K,也是bmp800*480的,后来别的图片死活弄不小了,都是750k
qq1950361006,互帮互助,共同进步。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 09:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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