硬汉嵌入式论坛

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

[emWin] 关于控件换肤后,出现波纹现象。

[复制链接]

20

主题

110

回帖

170

积分

初级会员

积分
170
发表于 2018-4-10 18:47:58 | 显示全部楼层 |阅读模式
本帖最后由 飛饵 于 2018-4-17 12:52 编辑

按照教程进行控件换肤,出现类似波纹和撕裂的现象,特别是像Slider这种刷新频繁的控件很明显。如果不换皮肤就没这现象。要怎么解决。用的f103zet6
用framewin部分的皮肤来说明:
  1. /**************************** 扁平化对话框设置 ************************/
  2.     FRAMEWIN_SetClientColor( hItem,0X00FFFFFF);//设置窗体内部的颜色
  3.    
  4.     FRAMEWIN_GetSkinFlexProps(&FRAMEWIN_Props,FRAMEWIN_SKINFLEX_PI_ACTIVE);//获取当前对话框的属性
  5.      
  6.     FRAMEWIN_Props.aColorFrame[0] = 0X00F2EBB2;//100以下均为设置颜色
  7.     FRAMEWIN_Props.aColorFrame[1] = 0X00EADE80;//200
  8.     FRAMEWIN_Props.aColorFrame[2] = 0X00FFFFFF;//400

  9.     FRAMEWIN_Props.aColorTitle[0] = 0X00DAC626;//400
  10.     FRAMEWIN_Props.aColorTitle[1] = 0X00DAC626;

  11.     FRAMEWIN_Props.BorderSizeT = 0;//标题栏与边框顶部的间距
  12.     FRAMEWIN_Props.BorderSizeL = FRAMEWIN_Props.BorderSizeR = 5;//窗体内部的两侧与边框的间距

  13.     FRAMEWIN_Props.Radius = 2;//圆角的半径

  14.     FRAMEWIN_SetSkinFlexProps(&FRAMEWIN_Props,FRAMEWIN_SKINFLEX_PI_ACTIVE);//设置激活状态下的皮肤

  15.     FRAMEWIN_GetSkinFlexProps(&FRAMEWIN_Props,FRAMEWIN_SKINFLEX_PI_INACTIVE);

  16.     FRAMEWIN_Props.aColorFrame[0] = 0X00FFFFFF;//以下均为设置颜色
  17.     FRAMEWIN_Props.aColorFrame[1] = 0X00F2EBB2;//100
  18.     FRAMEWIN_Props.aColorFrame[2] = 0X00FFFFFF;
  19.                                          
  20.     FRAMEWIN_Props.aColorTitle[0] = 0X00F2EBB2;//100
  21.     FRAMEWIN_Props.aColorTitle[1] = 0X00F2EBB2;

  22.     FRAMEWIN_Props.BorderSizeT = 0;//标题栏与边框顶部的间距
  23.     FRAMEWIN_Props.BorderSizeL = FRAMEWIN_Props.BorderSizeR = 5;//窗体内部的两侧与边框的间距

  24.     FRAMEWIN_Props.Radius = 2;//圆角的半径
  25.     FRAMEWIN_SetSkinFlexProps(&FRAMEWIN_Props,FRAMEWIN_SKINFLEX_PI_INACTIVE);//设置未激活状态下的皮肤
  26. /**********************************************************************************/
复制代码


QQ截图20180411123528.jpg
QQ截图20180411123524.jpg
QQ截图20180411123516.jpg
QQ截图20180411123452.jpg
55555555555.jpg
444444444.jpg
333333333.jpg
22222222222222.jpg
1111111111.jpg
132123.gif

GUI.rar

14.55 KB, 下载次数: 30

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107156
QQ
发表于 2018-4-11 00:39:22 | 显示全部楼层
非常抱歉楼主,刚通过你的帖子。

楼主方便的话,发下你的效果图看下。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107156
QQ
发表于 2018-4-11 01:21:09 | 显示全部楼层
帮你在我们V6板子上面测试了,效果挺好的
QQ截图20180411011858.png
回复

使用道具 举报

20

主题

110

回帖

170

积分

初级会员

积分
170
 楼主| 发表于 2018-4-11 12:39:10 | 显示全部楼层
本帖最后由 飛饵 于 2018-4-11 12:42 编辑
eric2013 发表于 2018-4-11 01:21
帮你在我们V6板子上面测试了,效果挺好的

我说的波纹是指在操作的时候会出现相对缓慢刷屏的现象,类似波纹,瞬间的事情。不进行操作的时候没这现象。
我用录像截了对BUTTON快速点击时出现的波纹。Slider在拖动滑块时现象更明显,只是录像录不到。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107156
QQ
发表于 2018-4-11 15:53:59 | 显示全部楼层
飛饵 发表于 2018-4-11 12:39
我说的波纹是指在操作的时候会出现相对缓慢刷屏的现象,类似波纹,瞬间的事情。不进行操作的时候没这现象 ...

我这里效果挺好的,你现在是往自己的显示屏上面移植吗
回复

使用道具 举报

20

主题

110

回帖

170

积分

初级会员

积分
170
 楼主| 发表于 2018-4-11 16:32:19 | 显示全部楼层
eric2013 发表于 2018-4-11 15:53
我这里效果挺好的,你现在是往自己的显示屏上面移植吗

对, 驱动芯片是ILI9341
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107156
QQ
发表于 2018-4-12 01:58:32 | 显示全部楼层
飛饵 发表于 2018-4-11 16:32
对, 驱动芯片是ILI9341

估计是你移植模板的,另外你换个屏测序下效果是否好点。
回复

使用道具 举报

20

主题

110

回帖

170

积分

初级会员

积分
170
 楼主| 发表于 2018-4-12 19:35:30 | 显示全部楼层
eric2013 发表于 2018-4-12 01:58
估计是你移植模板的,另外你换个屏测序下效果是否好点。

我手上只有一个屏,有点麻烦了。。。。我移植的是STemWin1.1.2(emwin5.22),这是模板吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107156
QQ
发表于 2018-4-13 03:02:44 | 显示全部楼层
飛饵 发表于 2018-4-12 19:35
我手上只有一个屏,有点麻烦了。。。。我移植的是STemWin1.1.2(emwin5.22),这是模板吗?

模板是指的你移植的,明天有时候了我给你测试下我们的9488的。前面是在我们V6给你测试的。9488跟9341差不多
回复

使用道具 举报

20

主题

110

回帖

170

积分

初级会员

积分
170
 楼主| 发表于 2018-4-13 10:39:16 | 显示全部楼层
eric2013 发表于 2018-4-13 03:02
模板是指的你移植的,明天有时候了我给你测试下我们的9488的。前面是在我们V6给你测试的。9488跟9341差不 ...

好的,谢谢。我在想是不是因为f103的性能问题啊,每次使用回调函数都会进行大量换肤操作,效率变低。。。。用DEMO工程的像素填充测得649万Pixels左右
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107156
QQ
发表于 2018-4-14 02:08:39 | 显示全部楼层
飛饵 发表于 2018-4-13 10:39
好的,谢谢。我在想是不是因为f103的性能问题啊,每次使用回调函数都会进行大量换肤操作,效率变低。。。 ...

不会的,103刷个按钮还是绰绰有余的。
回复

使用道具 举报

20

主题

110

回帖

170

积分

初级会员

积分
170
 楼主| 发表于 2018-4-14 19:40:25 | 显示全部楼层
eric2013 发表于 2018-4-14 02:08
不会的,103刷个按钮还是绰绰有余的。

我又百度了一圈,会不会是没开存储设备或者多缓冲造成的。我按照教程移植完马上就学换肤了,中间好多教程都没看
回复

使用道具 举报

56

主题

905

回帖

1073

积分

至尊会员

积分
1073
发表于 2018-4-14 19:41:38 | 显示全部楼层
底层的打点没搞好?
回复

使用道具 举报

20

主题

110

回帖

170

积分

初级会员

积分
170
 楼主| 发表于 2018-4-14 19:52:36 | 显示全部楼层
roguebear 发表于 2018-4-14 19:41
底层的打点没搞好?

底层打点应该没问题吧,不用GUI,自己写的打点函数纯刷屏都有58帧
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107156
QQ
发表于 2018-4-16 01:13:30 | 显示全部楼层
飛饵 发表于 2018-4-14 19:40
我又百度了一圈,会不会是没开存储设备或者多缓冲造成的。我按照教程移植完马上就学换肤了,中间好多教程 ...

103搞不了多缓冲。你现在测试效果好点了没。
回复

使用道具 举报

20

主题

110

回帖

170

积分

初级会员

积分
170
 楼主| 发表于 2018-4-16 13:43:14 | 显示全部楼层
本帖最后由 飛饵 于 2018-4-16 13:47 编辑
eric2013 发表于 2018-4-16 01:13
103搞不了多缓冲。你现在测试效果好点了没。

无解。我又做了个界面,现象更明显了,仔细看能看到有撕裂感。1楼更新了图
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107156
QQ
发表于 2018-4-17 00:55:39 | 显示全部楼层
方便的话,你把你得GUI部分完整测试代码传上来,我在我们的V4板子上面使用9488给你测试下。
回复

使用道具 举报

20

主题

110

回帖

170

积分

初级会员

积分
170
 楼主| 发表于 2018-4-17 12:53:01 | 显示全部楼层
eric2013 发表于 2018-4-17 00:55
方便的话,你把你得GUI部分完整测试代码传上来,我在我们的V4板子上面使用9488给你测试下。

已上传了,麻烦了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107156
QQ
发表于 2018-4-17 13:42:09 | 显示全部楼层
帮你测试了,务必在函数 GUI_Init(); 后调用 WM_SetCreateFlags(WM_CF_MEMDEV);
这种 ili9xxx系列 的显示屏,竖屏显示效果好,如何是横屏,会有斜着的撕裂
4.gif






回复

使用道具 举报

20

主题

110

回帖

170

积分

初级会员

积分
170
 楼主| 发表于 2018-4-17 15:15:22 | 显示全部楼层
本帖最后由 飛饵 于 2018-4-17 15:34 编辑
eric2013 发表于 2018-4-17 13:42
帮你测试了,务必在函数 GUI_Init(); 后调用 WM_SetCreateFlags(WM_CF_MEMDEV);
这种 ili9xxx系列 的显示 ...

谢谢硬汉哥测试了。开了存储设备后SLIDER撕裂现象没了,HOME界面还是挺明显的。是这种屏的缺陷吗
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 17:28 , Processed in 0.325736 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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