硬汉嵌入式论坛

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

[emWin] STemwin貼圖問題

[复制链接]

13

主题

38

回帖

77

积分

初级会员

积分
77
发表于 2017-5-10 15:27:00 | 显示全部楼层 |阅读模式
因為用stemwin來解JPEG很慢,所以目前使用Libjpeg來解JPEG已經可以正常顯示。

若我想使用STemwin來做一些簡易的按鍵控制,然後將解好的JPEG圖檔當背景圖,且這背景圖每50ms就要重刷一次。
目前使用uCGUIBulider畫了一個按鍵,背景是白色。目前執行的結果我貼上去的背景圖會被蓋過去。因為我解壓後的JPEG是直接填入LCD顯示記憶區。
請問要怎麼做才能將自行解壓的JPEG圖檔用來取代背景,而不會被覆蓋呢? 感謝大家
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2017-5-10 15:38:32 | 显示全部楼层
这样太麻烦了,还得自己管理回调函数。

上电后直接使用将JPEG图片采用存储设备绘制到SDRAM里面,然后直接刷就好了,看我们的综合Demo视频演示就是:
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=17330
回复

使用道具 举报

13

主题

38

回帖

77

积分

初级会员

积分
77
 楼主| 发表于 2017-5-10 15:53:25 | 显示全部楼层

回 eric2013 的帖子

eric2013:这样太麻烦了,还得自己管理回调函数。

上电后直接使用将JPEG图片采用存储设备绘制到SDRAM里面,然后直接刷就好了,看我们的综合Demo视频演示就是:
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=17330 (2017-05-10 15:38) 
eric2013 您好:
謝謝回覆,但若不使用回調函數,那按鍵的圖標、按鍵是否按下的判斷就全要自己去處理了是嗎?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2017-5-11 01:21:36 | 显示全部楼层

回 victor0726 的帖子

victor0726:eric2013 您好:
謝謝回覆,但若不使用回調函數,那按鍵的圖標、按鍵是否按下的判斷就全要自己去處理了是嗎?  (2017-05-10 15:53) 
比较麻烦,可以看我早期弄过的一个,是专门自己单独处理的背景图片,主要看MainTask.c文件
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=3989
回复

使用道具 举报

13

主题

38

回帖

77

积分

初级会员

积分
77
 楼主| 发表于 2017-5-12 13:49:15 | 显示全部楼层

回 eric2013 的帖子

eric2013:比较麻烦,可以看我早期弄过的一个,是专门自己单独处理的背景图片,主要看MainTask.c文件
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=3989 (2017-05-11 01:21) 
eric2013 您好:

請問若使用GUI_MEMDEV_CreateEX()向emwin申請記憶體,如何知道這個申請的記憶體位址在哪裡呢?因為想把JPEG解碼後的資料放在申請的記憶區。 謝謝~
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2017-5-12 14:23:21 | 显示全部楼层

回 victor0726 的帖子

victor0726:eric2013 您好:

請問若使用GUI_MEMDEV_CreateEX()向emwin申請記憶體,如何知道這個申請的記憶體位址在哪裡呢?因為想把JPEG解碼後的資料放在申請的記憶區。 謝謝~ (2017-05-12 13:49) 
可以使用这个函数:
GUI_MEMDEV_GetDataPtr
回复

使用道具 举报

13

主题

38

回帖

77

积分

初级会员

积分
77
 楼主| 发表于 2017-5-12 16:54:43 | 显示全部楼层

回 eric2013 的帖子

eric2013:可以使用这个函数:
GUI_MEMDEV_GetDataPtr (2017-05-12 14:23) 
eric2013 非常謝謝您的解答。感謝~
回复

使用道具 举报

13

主题

38

回帖

77

积分

初级会员

积分
77
 楼主| 发表于 2017-5-16 10:30:53 | 显示全部楼层

回 eric2013 的帖子

eric2013:可以使用这个函数:
GUI_MEMDEV_GetDataPtr (2017-05-12 14:23) 
eric2013您好:
依照您建議的使用GUI_MEMDEV_GetDataPtr來獲取記憶體位址,儲存LibJPEG解碼後的結果。

但我調用GUI_MEMDEV_CopyToLCD()函式想將解碼後的圖顯示至LCD時卻無法顯示。
發現雖然調用GUI_MEMDEV_CopyToLCD()卻無法將申請記憶區的資料複制到LCD顯示記憶區。
但我若使用GUI_JPEG_Draw()這函式,再調用MEMDEV_CopyToLCD(),資料就會由申請的記憶體複制到LCD顯示記憶區,且畫面顯示正常。 請問這是什麼原因呢? 感謝~
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2017-5-16 14:03:38 | 显示全部楼层

回 victor0726 的帖子

victor0726:eric2013您好:
依照您建議的使用GUI_MEMDEV_GetDataPtr來獲取記憶體位址,儲存LibJPEG解碼後的結果。

但我調用GUI_MEMDEV_CopyToLCD()函式想將解碼後的圖顯示至LCD時卻無法顯示。
....... (2017-05-16 10:30) 
你写入的颜色格式跟你存储设备申请的颜色的格式统一吗
回复

使用道具 举报

11

主题

105

回帖

138

积分

初级会员

积分
138
发表于 2017-5-17 09:21:27 | 显示全部楼层

回 eric2013 的帖子

eric2013:这样太麻烦了,还得自己管理回调函数。

上电后直接使用将JPEG图片采用存储设备绘制到SDRAM里面,然后直接刷就好了,看我们的综合Demo视频演示就是:
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=17330 (2017-05-10 15:38) 
[s:151][s:151][s:151]搞定了背景图片刷新的问题!但是之前说的那个bmp图片跟不带比例也不能绘制。暂时不知道为啥
回复

使用道具 举报

13

主题

38

回帖

77

积分

初级会员

积分
77
 楼主| 发表于 2017-5-18 10:08:00 | 显示全部楼层

回 eric2013 的帖子

eric2013:你写入的颜色格式跟你存储设备申请的颜色的格式统一吗 (2017-05-16 14:03) 
eric2013您好:
謝謝您的回覆,用Libjpeg解壓後的資料放到向emwin申請的記憶區,再顯示至LCD已經正常。

想請教您,如果我想開一個窗口+一個按鍵(退出此窗口),將此解壓後的圖檔當做是背景,
若使用回調函數的話,我要將解壓後的圖放在哪個消息事件中才不會被該窗口的背景覆蓋呢?
一直卡在這個地方。不是圖被窗口背景蓋掉,就是圖蓋掉按鍵。 感謝~
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2017-5-18 10:42:05 | 显示全部楼层

回 victor0726 的帖子

victor0726:eric2013您好:
謝謝您的回覆,用Libjpeg解壓後的資料放到向emwin申請的記憶區,再顯示至LCD已經正常。

想請教您,如果我想開一個窗口+一個按鍵(退出此窗口),將此解壓後的圖檔當做是背景,
....... (2017-05-18 10:08) 
没太懂,什么意思,桌面有一个背景,窗口也有一个背景?
回复

使用道具 举报

13

主题

38

回帖

77

积分

初级会员

积分
77
 楼主| 发表于 2017-5-18 10:46:14 | 显示全部楼层

回 eric2013 的帖子

eric2013:没太懂,什么意思,桌面有一个背景,窗口也有一个背景? (2017-05-18 10:42) 
我的配置是桌面有很多小icon,每個icon點下去都會開啟一個新的窗口,現是想把解壓的圖當作是新開窗口的背景。 不知這樣您是否能理解呢? 感謝~
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2017-5-19 01:19:58 | 显示全部楼层

回 victor0726 的帖子

victor0726:我的配置是桌面有很多小icon,每個icon點下去都會開啟一個新的窗口,現是想把解壓的圖當作是新開窗口的背景。 不知這樣您是否能理解呢? 感謝~ (2017-05-18 10:46) 
意思是新打开一个窗口后,把解码的图片绘制到这个窗口上? 可以的。
要放在WM_PIANT消息里面。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-19 12:56 , Processed in 0.051906 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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