OpenEdv-开源电子网

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

BMP图片存入外部外部FLASH后,怎么用GUI显示呀。

[复制链接]

12

主题

86

帖子

0

精华

高级会员

Rank: 4

积分
567
金钱
567
注册时间
2014-12-19
在线时间
139 小时
发表于 2015-4-3 14:15:02 | 显示全部楼层 |阅读模式
5金钱
我把BMP图片用BmpCvt.exe转换成16位真彩565格式的C文件直接加载到程序中用GUI_DrawBitmap函数可以正常显示。现在因为图片太多,STM32F103VET内部flash不够用,想存到外部flash中,可是用BmpCvt.exe生成的c文件里面有一个位图数组和一个结构体,这个让我们怎么存到FALSH中,然后读取后怎么调用GUI_DrawBitmap函数呀?原子哥曾有过一个例子显示BMP图片的,但他是用自己写的LCD显示函数,不是调用GUI里面的函数的,所以请各位前辈指点下,谢谢了。

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

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2015-4-3 15:39:48 | 显示全部楼层
个人觉得使用文件系统最方便,不然费劲。
于20150522停用该账号:http://www.microstar.club
回复

使用道具 举报

12

主题

86

帖子

0

精华

高级会员

Rank: 4

积分
567
金钱
567
注册时间
2014-12-19
在线时间
139 小时
 楼主| 发表于 2015-4-3 16:27:32 | 显示全部楼层
用文件系统??那我怎么让STM32和SST25vf064一起配合干活呀?求前辈指点
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-4-3 18:08:35 | 显示全部楼层
放到外部falsh后者SD卡中,做好文件系统,至于怎么做文件系统,请看我们教程的文件系统章节,做好文件系统以后调用UCGUI函数直接显示,如果是用的emwin的话,你都不用位图转换器了,emwin可以直接显示bmp,gif,jpeg,png图片的
开往春天的手扶拖拉机
回复

使用道具 举报

12

主题

86

帖子

0

精华

高级会员

Rank: 4

积分
567
金钱
567
注册时间
2014-12-19
在线时间
139 小时
 楼主| 发表于 2015-4-5 23:06:29 | 显示全部楼层
前辈,如果用文件系统做,那我怎么把图片的信息放入SST25vf064中呀?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-4-5 23:18:27 | 显示全部楼层
回复【5楼】尤尤:
---------------------------------
先格式化外部FLASH
具体的可以参考我们的fatfs例程。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

9

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2015-6-10
在线时间
0 小时
发表于 2015-12-19 10:47:23 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
原子哥  那个UCGUI想显示大尺寸图片 不能直接使用GUI自带的显示函数。这个该怎么办呢?是不是需要自己写函数来实现?
回复

使用道具 举报

9

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2015-6-10
在线时间
0 小时
发表于 2015-12-19 10:53:41 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
像GIF和JPG这样的图片解码显示都需要自己来写吗?
回复

使用道具 举报

9

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2015-6-10
在线时间
0 小时
发表于 2015-12-19 10:56:10 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
GUI里面,如果不使用W25x16的话,读取SD卡的图片, 内存是不是就不够了?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-12-19 13:25:21 | 显示全部楼层
回复【8楼】sudingkun:
---------------------------------
是的。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-12-19 13:25:27 | 显示全部楼层
回复【9楼】sudingkun:
---------------------------------
和你用不用W25X16关系不大。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

9

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2015-6-10
在线时间
0 小时
发表于 2015-12-19 13:51:18 | 显示全部楼层
回复【11楼】正点原子:
---------------------------------
多谢原子哥!是不是我的板子没有外置SRAM只有W25x16,不能用GUI来显示SD的图片了?必须配置了外置SRAM的才能够用GUI来显示SD卡图片了?
回复

使用道具 举报

5

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2013-1-25
在线时间
7 小时
发表于 2016-1-12 11:19:26 | 显示全部楼层
sudingkun 发表于 2015-12-19 13:51
回复【11楼】正点原子:
---------------------------------
多谢原子哥!是不是我的板子没有外置SRAM只有W2 ...

不用外挂sram,你可以开辟一小块内存,然后读取SD卡,或者flash的 图片,只读取一小块,然后一小块一小块的  刷出来就好了啊。
好的态度去做好每一件事情
回复

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2015-3-30
在线时间
4 小时
发表于 2016-8-12 10:38:12 | 显示全部楼层
请教我用的emwin  调用外部SD卡的bmp,555格式 能显出来,但好多刺,565直接不显示,位图直接改成1bpp的显示 但改后颜色也就变了   
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2016-8-12 20:30:43 | 显示全部楼层
sudingkun 发表于 2015-12-19 10:47
回复【6楼】正点原子:
---------------------------------
原子哥  那个UCGUI想显示大尺寸图片&n ...

自己写一个函数
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2016-8-25
在线时间
13 小时
发表于 2016-8-30 19:50:09 | 显示全部楼层
直接调用BUTTON_SetBMP()可显示原始位图数据(BMP文件以0x42 0x4D开头),如
hWin = BUTTON_CreateAsChild(10, 10, 120, 120, hClient, GUI_ID_BUTTON0, WM_CF_SHOW);   
BUTTON_SetBMP(hWin, 0, (unsigned char*)_acSwitch);

const unsigned char _acSwitch[48454UL + 1] = {
  0x42, 0x4D, 0x46, 0xBD, 0x00, 0x00, 0x00, 0x00,.....
  .......
}
将Switch.bmp文件改成Switch.bin然后用BIN2C工具转成C语言格式,转换后形成如上数组,就可以直接调用了. 当然原始的位图数据可直接存到FLASH中或SD卡中.只可惜这个位图不能透明背景
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2016-9-3
在线时间
1 小时
发表于 2016-9-3 21:26:16 | 显示全部楼层
加文件系统,把flash作为一个U盘.

接入电脑,拷入图片.

电路板上电后读flash中的图片,解码显示.
回复

使用道具 举报

2

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2016-11-2
在线时间
42 小时
发表于 2017-1-13 16:46:09 | 显示全部楼层
尤尤 发表于 2015-4-5 23:06
前辈,如果用文件系统做,那我怎么把图片的信息放入SST25vf064中呀?

前辈,我现在也在做外部flash放图片,用emwin显示,请问你最后是怎么实现的呢,能否指点一二,感激不尽。
回复

使用道具 举报

5

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
182
金钱
182
注册时间
2015-7-13
在线时间
38 小时
发表于 2017-2-16 14:42:29 | 显示全部楼层

我利用外部SRAM 通过emwin显示出图片了,但是刷屏速度好慢,本来就是这样的吗?还是我操作的方式不对?
回复

使用道具 举报

12

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
329
金钱
329
注册时间
2015-6-24
在线时间
123 小时
发表于 2020-3-22 09:31:04 | 显示全部楼层
楼主,我现在也遇到和你相同的问题,请问你怎解决的。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 17:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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