递归火山软件开发平台
标题:
DeepSeek Direct2D封装最终版
[打印本页]
作者:
fengyishen
时间:
2026-4-17 04:57
标题:
DeepSeek Direct2D封装最终版
封装说明
1、此次封装花了1天时间,网页已经卡得不行了,可能上下文太长导致,图层、字体族没法继续封装了。
2、此次引入智能指针,所有子类都用了成员变量,引用了官方宏管理类。
Direct2D 类库说明
1. 核心渲染能力 (Core Rendering)
硬件加速
:基于 DirectX 11.1 和 Direct2D 1.1,所有绘图操作均由 GPU 完成,极低 CPU 占用。
抗锯齿控制
:支持实时切换平滑模式,保证矢量图形和边缘的清晰度。
透明度融合
:完美支持 Alpha 通道,可实现细腻的半透明叠加和窗口毛玻璃效果。
2. 高级位图处理 (Advanced Imaging)
多格式加载
:通过 WIC 引擎支持 PNG, JPG, BMP, ICO 等多种图片格式。
位图信息获取
:支持获取物理像素尺寸、逻辑 DIP 尺寸以及 DPI 分辨率。
高平滑缩放
:绘制位图时支持高质量插值算法,缩放不失真。
3. 矢量路径与几何运算 (Geometry & Path)
路径构建器
:支持直线、圆弧、二次/三次贝塞尔曲线等复杂的路径组合。
几何体运算
:支持路径的
合并、相交、排除、异或
(类似 PS 的布尔运算)。
线段样式
:支持自定义虚线、线帽样式(平头、圆头、方头)以及连接处风格。
4. GPU 效果器链 (Hardware Effects)
这是类库最强大的部分,支持通过 GUID 扩展无限种滤镜:
高斯模糊 (Gaussian Blur)
:实现毛玻璃或柔化效果。
投影与发光 (Shadow/Glow)
:基于正确的 GUID 实现图片或文字的阴影及外发光。
动态参数调节
:支持在运行时实时调整模糊半径、阴影颜色等参数。
5. 离屏指令录制 (CommandList)
无损录制
:支持将绘图指令流录制到 CommandList 中,不损失矢量精度。
滤镜嵌套
:文字或几何图形在录制后,可直接作为效果器的输入(实现发光文字的核心)。
高性能复用
:复杂的背景只需录制一次,之后每帧直接绘制即可,无需重复计算绘图逻辑。
6. 矩阵变换系统 (Transform)
仿射变换
:支持平移、旋转、缩放、倾斜(Skew)四种基础变换。
矩阵叠加
:支持“是否叠加”模式,可以轻松实现类似“围绕中心点旋转同时缩放”的复合动画。
示例图示
1、完善了线帽、线类型
(, 下载次数: 484)
上传
点击文件名下载附件
2、完善了画刷
(, 下载次数: 483)
上传
点击文件名下载附件
3、完善了渲染目标切换、文字各类绘制
(, 下载次数: 498)
上传
点击文件名下载附件
4、完善了位图绘制
(, 下载次数: 484)
上传
点击文件名下载附件
5、完善了路径接口,现在可以一比一实现ZY大佬的示例绘制了
(, 下载次数: 485)
上传
点击文件名下载附件
6、完善了图形合并
(, 下载次数: 476)
上传
点击文件名下载附件
7、完善了矩阵变换
(, 下载次数: 483)
上传
点击文件名下载附件
8、完善了位图效果器,图标为高斯模糊 + 阴影效果
(, 下载次数: 486)
上传
点击文件名下载附件
完整源码下载
经过这次封装,发现了Web的弊端了,没法封装大型类库,上下文过长,会很卡很卡,
如果新开对话,得重头再来。而且,代码片段得手动复制,一不小心就会漏。蛋疼!
作者:
aycap
时间:
2026-4-17 09:54
继续加油啊
作者:
storey
时间:
2026-4-17 10:13
优秀。。。
作者:
Pomelo
时间:
2026-4-17 10:37
66666
作者:
创世魂
时间:
2026-4-17 12:38
相当不错了。
作者:
寒风
时间:
2026-4-17 12:52
继续加油
作者:
zqiz
时间:
2026-4-17 13:12
66666
作者:
blackvolcano
时间:
2026-4-17 14:16
优秀。。。
作者:
kca
时间:
2026-4-17 15:44
666666666
作者:
xrea
时间:
2026-4-17 16:23
感谢分享
作者:
朕的
时间:
2026-4-17 19:23
1111
作者:
littlebld
时间:
2026-4-17 20:21
学习学习
作者:
15315322
时间:
2026-4-17 20:24
66666666666666666666666
作者:
苏少爷
时间:
2026-4-17 23:03
学习一下
作者:
芒g一号
时间:
2026-4-18 00:06
感谢分享
作者:
高山!&流水
时间:
2026-4-18 00:49
谢谢分享
作者:
山梦
时间:
2026-4-18 08:53
谢谢分享
作者:
Diablo
时间:
2026-4-18 09:45
作者:
ku2017
时间:
2026-4-18 11:18
看看效果
作者:
zlk
时间:
2026-4-18 12:36
优秀。。。
作者:
htpmcj
时间:
2026-4-18 14:03
66666
作者:
易涛涛
时间:
2026-4-18 21:07
继续加油
作者:
水常流
时间:
2026-4-19 01:01
感谢分享
作者:
yhobo
时间:
2026-4-19 23:11
看起来这个更适合做界面库的基础
作者:
zz8zz
时间:
2026-4-21 00:08
继续加油
作者:
Fbio
时间:
2026-4-21 00:20
感谢分享
作者:
消散孤独
时间:
2026-4-21 00:32
6666!!!
作者:
阿海
时间:
2026-4-21 08:10
学习学习,谢谢了
作者:
lichenxui
时间:
2026-4-21 08:29
牛逼
作者:
qcyxq1
时间:
2026-4-21 09:40
DDDDDDDDDDDDDDDDD
作者:
惊鸿
时间:
2026-4-21 19:39
看看什么东西
作者:
kingsoft
时间:
2026-4-21 22:34
会卡的问题,尝试增加大内存!
作者:
fengyishen
时间:
2026-4-21 23:43
kingsoft 发表于 2026-4-21 22:34
会卡的问题,尝试增加大内存!
增加电脑内存?已经是64G了,你确定有效果吗?现在内存可贵啊!
作者:
zc2007
时间:
2026-4-22 10:31
学习学习
作者:
baiyiyuna
时间:
2026-4-22 12:28
优秀!
作者:
gzylove
时间:
2026-4-22 16:04
大佬牛逼
作者:
hnzzlzj
时间:
2026-4-22 18:45
优秀。。。
作者:
chenshui
时间:
2026-4-23 15:35
大佬继续加油
作者:
aa11890309
时间:
2026-4-23 19:31
你确定这个可以用?
作者:
2995455338
时间:
2026-4-23 21:30
66666666666666666666
作者:
泡泡小驻
时间:
2026-4-24 08:50
666
作者:
网络注册会员
时间:
2026-4-24 10:30
感谢分享
作者:
天极至尊
时间:
2026-4-28 12:31
赞
作者:
a984700427
时间:
2026-4-30 22:31
学习一下,
作者:
次元の叶子
时间:
2026-5-2 10:02
继续加油啊!
作者:
6655
时间:
2026-5-2 22:54
学习学习
作者:
youzhi311
时间:
2026-5-2 23:57
优秀。。。
作者:
上等兵
时间:
2026-5-3 10:55
利害
作者:
291414089
时间:
2026-5-4 14:39
谢谢分享!!!!!!!
作者:
xtfje
时间:
2026-5-5 22:03
有不能用他做简单的控件
作者:
mogo
时间:
2026-5-11 16:55
感谢分享
作者:
a846657886
时间:
2026-5-12 19:53
热度如如人的
作者:
tyler998
时间:
2026-5-17 16:27
Direct2D封装最终版继续加油
作者:
cyi100
时间:
2026-5-17 18:15
66666666666666666666666666666666666
作者:
美味萝卜
时间:
4 小时前
继续加油啊
欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/)
Powered by Discuz! X3.4