硬汉嵌入式论坛

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

[emWin] emwin 效果实现

[复制链接]

91

主题

87

回帖

360

积分

高级会员

积分
360
发表于 2023-9-22 10:16:09 | 显示全部楼层 |阅读模式
本帖最后由 wen 于 2023-9-22 10:18 编辑

如图所示,看看emwin 能不能实现:
1.长按用户按钮,然后背景变暗,突出前景。

2.背景如何实现,用图片么?
如果能实现,如何实现?谢谢!

选择用户登录

选择用户登录

长按用户,背景变暗

长按用户,背景变暗
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2023-9-22 11:05:02 | 显示全部楼层
可以弹出另外一个窗口盖在上面,将该窗口背景色设置黑色带半透明效果(透明度可以调节的),但好像emwin实现这种大范围半透明效果有点耗CPU
回复

使用道具 举报

3

主题

335

回帖

344

积分

高级会员

积分
344
发表于 2023-9-22 12:10:05 | 显示全部楼层
能实现,我实现过类似的效果。
长按用户按钮,就创建一个顶层子窗口,窗口大小和父窗口相同。把子窗口设置为has_trans。
然后在子窗口paint事件里,填充透明度为50%的黑色;按钮区域再创建一个子窗口,也设为透明,然后paint事件里啥时也不做,但一定要重写事件。
“删除”、“置顶”按钮就跟平时一样就行了。
回复

使用道具 举报

91

主题

87

回帖

360

积分

高级会员

积分
360
 楼主| 发表于 2023-9-22 13:11:57 | 显示全部楼层
glory 发表于 2023-9-22 12:10
能实现,我实现过类似的效果。
长按用户按钮,就创建一个顶层子窗口,窗口大小和父窗口相同。把子窗口设置 ...

那第一张图的蓝色背景,如何实现呢?难道用图片么?
回复

使用道具 举报

3

主题

47

回帖

56

积分

初级会员

积分
56
发表于 2023-9-22 17:57:35 | 显示全部楼层
wen 发表于 2023-9-22 13:11
那第一张图的蓝色背景,如何实现呢?难道用图片么?

lvgl的背景色可以设置渐变,不知道ewin可不可以。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
发表于 2023-9-23 07:53:49 | 显示全部楼层
baobao5 发表于 2023-9-22 17:57
lvgl的背景色可以设置渐变,不知道ewin可不可以。

可以,有很多梯度色API
回复

使用道具 举报

3

主题

335

回帖

344

积分

高级会员

积分
344
发表于 2023-9-23 11:05:33 | 显示全部楼层
wen 发表于 2023-9-22 13:11
那第一张图的蓝色背景,如何实现呢?难道用图片么?

蓝色背景是在父窗口上,用渐变绘制函数就行了啊。
回复

使用道具 举报

3

主题

335

回帖

344

积分

高级会员

积分
344
发表于 2023-9-23 11:07:05 | 显示全部楼层
本帖最后由 glory 于 2023-9-23 11:09 编辑

实话说,这个界面并不复杂,一看到脑子里就有实现方法。
我做过好几个项目,都是客户的美工提供效果图给我,我负责代码实现;像这样的设计,一看到脑子里就知道如何实现。
回复

使用道具 举报

3

主题

47

回帖

56

积分

初级会员

积分
56
发表于 2023-9-25 11:41:09 | 显示全部楼层
eric2013 发表于 2023-9-23 07:53
可以,有很多梯度色API

lvgl的渐变没有抖动,所以会有很明显的分层,大佬有没有解决办法啊。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 11:40 , Processed in 0.204551 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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