开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 13915|回复: 95
收起左侧

[易语言纯源码] 自绘窗口阴影2.0 支持Direct2D硬件加速

[复制链接]
结帖率:75% (3/4)
发表于 2021-12-29 17:53:33 | 显示全部楼层 |阅读模式   陕西省西安市
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
窗口阴影模块2.0 by a2002上个版本: https://bbs.125.la/forum.php?mod=viewthread&tid=14712177

demo.gif

把原始窗口阴影想象成单色的矩形
这个矩形经过高斯模糊处理后, 加上偏移即形成阴影
实际上绘制时与原窗口重叠的部分应该不计算, 这样的话效率还可以
demow.jpg

[2.0]优化了软件计算高斯模糊的速度, 采用缓存机制
[2.0]加入了Direct2D硬件加速, 当然在你的设备不支持Direct2D时GDI仍可用


可以参考exdui4.1的源码, 把绘画函数封装起来, 通过一个标识决定用gdi+还是D2D


这是个好主意, 然后它来了, 写了两天捏~
主要是D2D错误处理太复杂了, 尤其是那个设备丢失(移除?)的错误
但最终还是写出来啦, 流程大概如下:

shadow_flow.jpg

你可能感觉是否开启硬件加速对阴影外观来说没有什么区别, 这是因为erf函数模拟的效果好
这二者的区别主要在速度方面, 把阴影半径调至最大, 然后最大化窗口或者频繁调整窗口大小, 可以明显地看出区别

源码及例子:
shadow.zip (31.04 KB, 下载次数: 366)

评分

参与人数 14好评 +12 精币 +58 收起 理由
aqwd + 1 新技能已get√
空竹 + 1 大神,请收下我的膝盖
ghost12 + 1 支持开源~!感谢分享
edisonzhu + 1 + 2 这才是大神作品
易语言资源网 + 1 + 3 支持开源~!感谢分享
已注销541904 + 1 + 2 新技能已get√
万里晴空 + 1 + 3 支持开源~!感谢分享
kyo9766 + 1 + 2 这么几天就学会了 Direct2D 真是可喜可贺...
1185384801 + 1 + 3 新技能已get√
美夜赤月 + 1 + 5 新技能已get√
项目部006 + 1 + 10 感谢发布原创作品,精易因你更精彩!
咸鱼666 + 1 + 3 能否加个控制圆角度的参数
maozaiba + 1 + 3 奉上小小红包希望笑纳
福仔 + 1 + 20 支持开源~!感谢分享

查看全部评分


本帖被以下淘专辑推荐:

结帖率:75% (3/4)

签到天数: 26 天

 楼主| 发表于 2022-1-5 14:44:07 | 显示全部楼层   陕西省西安市
2.2 版本更新

修复了移动窗口失去激活的bug
调整了一些重画操作的顺序

shadow.zip (33.86 KB, 下载次数: 143)

评分

参与人数 2好评 +2 精币 +4 收起 理由
快乐小牛 + 1 + 1 支持开源~!感谢分享
maozaiba + 1 + 3 此处应该有鼓励~

查看全部评分

回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2024-3-28 00:06:42 | 显示全部楼层   广东省江门市
感谢分享
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2024-3-25 16:01:54 | 显示全部楼层   山东省济宁市
66666666666666666666666666666
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
发表于 2023-11-16 19:02:10 | 显示全部楼层   福建省宁德市
线程内无法创建阴影 有办法吗
回复 支持 反对

使用道具 举报

发表于 2023-11-15 22:40:05 | 显示全部楼层   四川省成都市
感谢分享!!!
回复 支持 反对

使用道具 举报

发表于 2023-11-5 19:27:14 | 显示全部楼层   湖南省株洲市
6666666666666666666666
回复 支持 反对

使用道具 举报

发表于 2023-10-20 22:57:02 | 显示全部楼层   广西壮族自治区贵港市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 2 天

发表于 2023-10-16 07:09:13 | 显示全部楼层   广东省广州市
感谢分享!
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2023-9-1 04:27:49 | 显示全部楼层   广东省阳江市
感谢分享
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2023-6-20 19:19:45 | 显示全部楼层   重庆市重庆市
111111111111111111111111111111111
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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