硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3219|回复: 7
收起左侧

[emWin] emwin530版本的PNG显示不能用?

[复制链接]

9

主题

19

回帖

46

积分

新手上路

积分
46
发表于 2015-12-23 14:35:41 | 显示全部楼层 |阅读模式
如题,我今天把emwin从5.22改成了5.30,发现png的一个函数不能用了
GUI_PNG_Draw(),这个函数只在GUI.H里有声明,但是压根不能调用,一调用就说未定义,我试了其他的bmp,jpeg,gif等都可以正常调用,不知道这个问题是从哪个版本开始的。
我看了5.28版本的变更上有一句:Licensing information of TTF and PNG support changed.
不知道是不是说的这个问题,
我想求证一下,是不是真的不能调用了...这个函数使用几率还是挺大啊
回复

使用道具 举报

12

主题

33

回帖

69

积分

初级会员

进阶stm32,那之后呢。。。。。

积分
69
发表于 2015-12-23 15:05:49 | 显示全部楼层
PNG是需要自己加载解码库的
http://www.armbbs.cn/forum.php?mod=viewthread&tid=6120
回复

使用道具 举报

9

主题

19

回帖

46

积分

新手上路

积分
46
 楼主| 发表于 2015-12-23 17:33:08 | 显示全部楼层

回 haohao801 的帖子


好累啊,大哥,我添加了PNG的解码库,编译有4个函数未定义,
QQ图片20151223172855.png

我也不敢乱改,百度搜了半天也没找到相关的修改资料,你有没有能用的工程文件,我借鉴一下,可以发我邮箱285904148@qq.com,非常感谢
emwin也真是的,5.22版本都还带png解码,再往上就不带了,
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2015-12-23 17:34:29 | 显示全部楼层

回 chenyongand 的帖子

chenyongand:好累啊,大哥,我添加了PNG的解码库,编译有4个函数未定义,
....... (2015-12-23 17:33) 
这个我们就有的,从V4或者V5网盘里面下载就行,60期emWin教程配套的PNG例子,你这个明显是没有添加全。
回复

使用道具 举报

9

主题

19

回帖

46

积分

新手上路

积分
46
 楼主| 发表于 2015-12-24 10:03:04 | 显示全部楼层

Re:回 chenyongand 的帖子

eric2013:

这个我们就有的,从V4或者V5网盘里面下载就行,60期emWin教程配套的PNG例子,你这个明显是没有添加全。
昨晚回家折腾了一晚上,今天早上又尝试了,还是 不行,我按照你说的,找到了第14期的PNG显示例子,用了PNG解码库,也不行,

还是提示那四个函数未定义,我就不上图了,我分析,其实主要是GUI_Debug.h里的这俩宏定义
#define GUI_LOCK_H(hMem)   GUI_ALLOC_LockH(hMem)
#define GUI_UNLOCK_H(pMem) GUI_ALLOC_UnlockH((void **)&pMem)

后面俩函数 GUI_ALLOC_LockH(hMem)   和   GUI_ALLOC_UnlockH((void **)&pMem) 应该是没有实体,要不然为什么老是说未定义,头文件也包含了。
我原本只是想用一下矢量字体,发现低版本5.22的缺东西,就换了高版本5.30和5.24,结果高版本的PNG又分离出来了,同时带来这问题,一头火,折腾了两天了,很郁闷.
求救,我现在就用高版本5.30了,我想让PNG解码库能工作起来

..............................



好像不太是这么回事,我包含了那个GUI_Debug.h,也设置了路径,可是里面的各种宏定义都不能被跳转找到,就好像没有这个头文件一样,我把宏定义挪到使用的那个c文件里,就没问题了。
我再查查
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2015-12-24 11:52:05 | 显示全部楼层

回 chenyongand 的帖子

chenyongand:昨晚回家折腾了一晚上,今天早上又尝试了,还是 不行,我按照你说的,找到了第14期的PNG显示例子,用了PNG解码库,也不行,

还是提示那四个函数未定义,我就不上图了,我分析,其实主要是GUI_Debug.h里的这俩宏定义
#define GUI_LOCK_H(hMem)   GUI_ALLOC_LockH(hMe .. (2015-12-24 10:03) 
好的。
回复

使用道具 举报

9

主题

19

回帖

46

积分

新手上路

积分
46
 楼主| 发表于 2015-12-24 14:52:57 | 显示全部楼层

Re:回 chenyongand 的帖子

eric2013:

好的。


问题已经找到,我不得不说,被emwin给坑了,那个GUI_Debug.h写的有bug,我请教里其他几位大侠帮我找问题,最终定位在这个头文件上,我截图

QQ图片20151224144644.png

这样的写法,肯定是bug,两次判断是否定义GUI_Debug.h,第二次判断会认为已经定义,导致这个头文件的内容直接被忽略,所以出现了我的那编译错误。经过大侠们指出后,我修改了,然后很顺利的编译通过了。这是我从nxp的官网下载的emwin5.30库,5.24的也是如此。不知道这是谁写的,如此不严谨
警醒各位,我原本是太相信emwin的程序了,一直在自己的工程上找问题,折腾了我足足两天。不知道STemwin有没有类似的问题,给各位提个醒,注意防范一下。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2015-12-28 09:28:42 | 显示全部楼层

回 chenyongand 的帖子

chenyongand:问题已经找到,我不得不说,被emwin给坑了,那个GUI_Debug.h写的有bug,我请教里其他几位大侠帮我找问题,最终定位在这个头文件上,我截图

....... (2015-12-24 14:52) 
还有这种情况,非常感谢告知。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-20 00:30 , Processed in 0.184670 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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