硬汉嵌入式论坛

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

[emWin] 重绘问题

[复制链接]

100

主题

94

回帖

394

积分

高级会员

积分
394
发表于 2020-2-10 17:45:28 | 显示全部楼层 |阅读模式
  1. case WM_PAINT:
  2. {
  3. GUI_DrawBitmap(GetCommResource(COMM_RS_LOGIN_NAME), PosX_Pic_UERNAME, PosY_Pic_UERNAME);
  4. GUI_DrawBitmap(GetCommResource(COMM_RS_LOGIN_PWD), PosX_Pic_PASSWORD, PosY_Pic_PASSWORD);
  5. break;
  6. }                 
复制代码

如上代码,界面上出现两张图,这时候突然弹了一个对话框,把这两张图压住了,触摸确认,对话框被消失。但是对话框消失的过程有点卡,究其原因,时间花在重绘那两张图。
请问有没有方法使弹框消失的流畅一点?谢谢
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2020-2-10 19:47:50 | 显示全部楼层
使用存储设备加速,可以将图片先绘制到存储设备,然后用存储设备的API绘制。
回复

使用道具 举报

100

主题

94

回帖

394

积分

高级会员

积分
394
 楼主| 发表于 2020-2-11 08:50:46 | 显示全部楼层
eric2013 发表于 2020-2-10 19:47
使用存储设备加速,可以将图片先绘制到存储设备,然后用存储设备的API绘制。

老大,大致明白您的意思,可否具体一点,用什么接口加速,用什么API 绘制
回复

使用道具 举报

100

主题

94

回帖

394

积分

高级会员

积分
394
 楼主| 发表于 2020-2-11 09:08:54 | 显示全部楼层
本帖最后由 wen 于 2020-2-11 11:05 编辑
eric2013 发表于 2020-2-10 19:47
使用存储设备加速,可以将图片先绘制到存储设备,然后用存储设备的API绘制。
  1. <div><font style="background-color: rgb(249, 249, 249);">void MainTask(void)
  2. {
  3. GUI_Init();                                          
  4. WM_MULTIBUF_Enable(1);  
  5. ......
  6. ......
  7. CreateXXXWindow(WM_HBKWIN);
  8. while(1)
  9. {
  10.   GUI_Delay(10);
  11. }
  12. }</font></div><div><font style="background-color: rgb(249, 249, 249);">void CreateXXXWindow()
  13. {
  14.     .....
  15. case WM_INIT_DIALOG:
  16. {
  17.   hItemMemdev = GUI_MEMDEV_Create(0, 250, 600, 240);
  18.   GUI_MEMDEV_Select(hItemMemdev);
  19.   GUI_DrawBitmap(GetCommResource(COMM_RS_LOGIN_NAME), PosX_Pic_UERNAME, PosY_Pic_UERNAME);
  20.   GUI_DrawBitmap(GetCommResource(COMM_RS_LOGIN_PWD), PosX_Pic_PASSWORD, PosY_Pic_PASSWORD);   
  21.   GUI_MEMDEV_Select(0);
  22.   GUI_MEMDEV_CopyToLCDAt(hItemMemdev, 0, 250);</font></div><div><font style="background-color: rgb(249, 249, 249);">  break;
  23. }
  24.     .....
  25. }</font></div>
复制代码
GUI_DrawBitmap 绘制的两张图为什么没有出来呢?
另外需要调用 这个函数么 WM_SetCreateFlags(WM_CF_MEMDEV);?

回复

使用道具 举报

100

主题

94

回帖

394

积分

高级会员

积分
394
 楼主| 发表于 2020-2-11 13:54:57 | 显示全部楼层
  1. void MainTask(void)
  2. {
  3.         GUI_Init();                                          
  4.         WM_MULTIBUF_Enable(1);  
  5.         //......
  6.         //......
  7.         CreateXXXWindow(WM_HBKWIN);
  8.         while(1)
  9.         {
  10.                 GUI_Delay(10);
  11.         }
  12. }

  13. void CreateXXXWindow()
  14. {
  15.     //.....
  16.         case WM_INIT_DIALOG:
  17.         {
  18.                 hItemMemdev = GUI_MEMDEV_Create(0, 250, 600, 240);
  19.                 GUI_MEMDEV_Select(hItemMemdev);
  20.                 GUI_DrawBitmap(GetCommResource(COMM_RS_LOGIN_NAME), PosX_Pic_UERNAME, PosY_Pic_UERNAME);
  21.                 GUI_DrawBitmap(GetCommResource(COMM_RS_LOGIN_PWD), PosX_Pic_PASSWORD, PosY_Pic_PASSWORD);   
  22.                 GUI_MEMDEV_Select(0);
  23.                 GUI_MEMDEV_CopyToLCDAt(hItemMemdev, 0, 250);

  24.                 break;
  25.         }
  26.     //.....
  27. }
复制代码


我重新贴一下代码,这个代码上传老是处问题
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2020-2-12 01:10:15 | 显示全部楼层
wen 发表于 2020-2-11 13:54
我重新贴一下代码,这个代码上传老是处问题

看这个帖子第17章JPEG章节就行:

http://www.armbbs.cn/forum.php?m ... &extra=page%3D1
回复

使用道具 举报

100

主题

94

回帖

394

积分

高级会员

积分
394
 楼主| 发表于 2020-2-13 14:32:02 | 显示全部楼层
eric2013 发表于 2020-2-12 01:10
看这个帖子第17章JPEG章节就行:

http://www.armbbs.cn/forum.php?mod=viewthread&tid=19834&extra=pa ...

已经看过了,讲得很清晰。但是里面用到的文件是bmp 格式,我目前是的图片文件形式是"*.dta",.dta如何跟存储设备联系起来呢 谢谢。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2020-2-14 00:36:55 | 显示全部楼层
wen 发表于 2020-2-13 14:32
已经看过了,讲得很清晰。但是里面用到的文件是bmp 格式,我目前是的图片文件形式是"*.dta",.dta如何跟 ...

看流位图章节即可。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-18 15:18 , Processed in 0.257786 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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