OpenEdv-开源电子网

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

图片解码只能显示BMP

[复制链接]

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2013-3-12
在线时间
0 小时
发表于 2013-8-15 21:27:27 | 显示全部楼层 |阅读模式
做图片解码的实验,用原子哥的解码程序,只能显示bmp文件,jpg和gif都不显示,但显示了文件路径。返回的错误是0x11,即PIC_MEM_ERR。我就索性把BMP_USE_MALLOC、JPEG_USE_MALLOC、GIF_USE_MALLOC都定义为0,结果程序下载下去后直接黑屏,啥都没有。本来我的程序写的是在显示图片之前会先显示一些字符串,SD卡状态,图片数量之类的,但现在这些也不显示了,直接黑屏。可能是什么原因?
我命由我不由天!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-15 23:01:35 | 显示全部楼层
回复【楼主位】风溪香士:
---------------------------------
战舰板吧。
战舰板不能显示的jpg,请用XP自带的画图工具打开,再保存一下,应该就可以了。
至于gif不能显示,八成是你的gif尺寸超过了LCD屏幕的大小,直接就不显示了。

另外,请不要随便改动代码,如果有问题,请先下载原版代码测试(未经改动的!)。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2013-3-12
在线时间
0 小时
 楼主| 发表于 2013-8-16 20:05:01 | 显示全部楼层
其实我是把战舰版的程序改到mini版上,因为mini版的例程没有对gif解码。
我命由我不由天!
回复 支持 反对

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2013-3-12
在线时间
0 小时
 楼主| 发表于 2013-8-16 23:39:58 | 显示全部楼层
回复【3楼】风溪香士:
---------------------------------
其实我是把战舰版的程序改到mini版上,因为mini版的例程没有对gif解码。
我命由我不由天!
回复 支持 反对

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2013-3-12
在线时间
0 小时
 楼主| 发表于 2013-8-17 00:28:39 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
其实我是把战舰版的程序改到mini版上,因为mini版的例程没有对gif解码。
问题找到了,其实就是因为改到了mini版上。内存管理中,mini版只有20kB内存,最多管理17KB,我一般定义的是#define MEM1_MAX_SIZE  12*1024。用j-link调试了下,jpg解码的分配内存函数中要分配14888B,所以出错了。改大MEM1_MAX_SIZE就行了。而gif解码的分配内存函数中要分配17204B。因为MEM1_MAX_SIZE最大能设17023,多了就直接黑屏(以前做内存分配实验时,MEM1_MAX_SIZE都能设17*1024,这个实验不能设这么大了,不知为什么)。这样就把MEM1_MAX_SIZE设为33*512,再把ffconf.h中的_FS_TINY设为1,这样FIL数据就少512个字节,gif解码的分配内存函数中也少分配512个字节,这样就行了。
我命由我不由天!
回复 支持 反对

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2013-3-12
在线时间
0 小时
 楼主| 发表于 2013-8-17 01:00:55 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
还想问下,jpg和gif解码中的内存分配能减少吗,现在还不懂图片解码的原理,要是内存分配能减少的话,以后再研究一下。
我命由我不由天!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-17 10:00:17 | 显示全部楼层
回复【6楼】风溪香士:
---------------------------------
一个问题,别开几个帖子!!!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2013-3-12
在线时间
0 小时
 楼主| 发表于 2013-8-19 21:40:00 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
你是说这个帖子吗?http://www.openedv.com/posts/list/0/19978.htm#114140
虽然是同一个实验,但那个是swith语句的break跳转的问题,我觉得是不同的问题,所以就另开一贴了,不好意思啊。
我命由我不由天!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-14 22:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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