硬汉嵌入式论坛

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

[emWin] 请教下,使用硬件jpg解码+dma2d ,在不进入gui前可以正常显示图片,但是进入到gui函数后就不能够显示了?

[复制链接]

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
发表于 2018-8-15 16:47:22 | 显示全部楼层 |阅读模式
请教下,使用硬件jpg解码+dma2d ,在不进入gui前可以正常显示图片,但是进入到gui函数后就不能够显示了?

是怎么回事啊 ?  还需要如何处理才行啊 ??



回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107145
QQ
发表于 2018-8-16 02:26:52 | 显示全部楼层
没用过硬件JPG,帮顶。
回复

使用道具 举报

32

主题

262

回帖

363

积分

高级会员

积分
363
发表于 2018-8-16 16:08:01 | 显示全部楼层
本帖最后由 在水一方 于 2018-8-16 16:09 编辑

因为  你用了GUI , 真实位置好像有偏移
你看下ST综合例程里面的 DMA2D_CopyBuffer_YCbCr_To_RGB 这个函数
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2018-8-17 10:04:20 | 显示全部楼层
在水一方 发表于 2018-8-16 16:08
因为  你用了GUI , 真实位置好像有偏移
你看下ST综合例程里面的 DMA2D_CopyBuffer_YCbCr_To_RGB 这个函数 ...

我貌似加上了

        #if (GUI_WINSUPPORT)  //在 gui 创建控件后显示,必须调用这个及以下的相关函数,切记切记
                GUI_RECT r;
        #endif
        u32 i,j,h,w;
        u16 *buf;
        u16 height,width;

        buf = (u16 *)pFileData;
       
        GUI_LOCK();
       
        #if (GUI_WINSUPPORT)
                WM_ADDORG(x0,y0);

                r.x0 = x0;
                r.x1 = x0 + JPEG_Info.ImageWidth - 1;
                r.y0 = y0;
                r.y1 = y0 + JPEG_Info.ImageHeight - 1;

                WM_ITERATE_START(&r) {
        #endif




........


        #if (GUI_WINSUPPORT)
        } WM_ITERATE_END();
        #endif







回复

使用道具 举报

27

主题

70

回帖

151

积分

初级会员

积分
151
发表于 2018-8-21 10:39:29 | 显示全部楼层
这个问题解决了吗,我也遇到了
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2018-8-21 12:11:07 | 显示全部楼层
^张浩然 发表于 2018-8-21 10:39
这个问题解决了吗,我也遇到了

目前还没有哇,估计应该是没有按照 emwin 的套路走造成的吧 ?

你目前有什么思路没有啊 ?????????
回复

使用道具 举报

27

主题

70

回帖

151

积分

初级会员

积分
151
发表于 2018-8-21 16:16:18 | 显示全部楼层
没有什么思路,不过把GUI_Init();去了就可以显示,点按钮出emwin的背景图片也就是新窗口加背景图片,点20多次,背景图片就加载不出来了,不知道怎么回事
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2018-8-21 16:32:57 | 显示全部楼层
^张浩然 发表于 2018-8-21 16:16
没有什么思路,不过把GUI_Init();去了就可以显示,点按钮出emwin的背景图片也就是新窗口加背景图片,点20多 ...

你 吧 GUI_Init  这个去掉了,那 你后续使用 emwin的 功能肯定就不能够再使用了啊
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2018-8-22 20:41:10 | 显示全部楼层
^张浩然 发表于 2018-8-21 16:16
没有什么思路,不过把GUI_Init();去了就可以显示,点按钮出emwin的背景图片也就是新窗口加背景图片,点20多 ...

现在终于搞定了,

使用 LCD_DrawBitmap 这个函数就可以了
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2018-8-22 20:42:22 | 显示全部楼层
本帖最后由 hpdell 于 2018-8-22 20:43 编辑
eric2013 发表于 2018-8-16 02:26
没用过硬件JPG,帮顶。

这样搞定了,使用 LCD_DrawBitmap 这个函数就可以了,

另外不知道这个函数是否支持 缩放功能啊 ??

有没有这个函数的 相关介绍资料啊 ???

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 12:33 , Processed in 0.203509 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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