fengyishen 发表于 2026-4-17 04:57:24

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、完善了线帽、线类型



2、完善了画刷



3、完善了渲染目标切换、文字各类绘制



4、完善了位图绘制



5、完善了路径接口,现在可以一比一实现ZY大佬的示例绘制了



6、完善了图形合并



7、完善了矩阵变换



8、完善了位图效果器,图标为高斯模糊 + 阴影效果



完整源码下载

**** Hidden Message *****

经过这次封装,发现了Web的弊端了,没法封装大型类库,上下文过长,会很卡很卡,

如果新开对话,得重头再来。而且,代码片段得手动复制,一不小心就会漏。蛋疼!


aycap 发表于 2026-4-17 09:54:17

继续加油啊

storey 发表于 2026-4-17 10:13:31

优秀。。。

Pomelo 发表于 2026-4-17 10:37:19

66666

创世魂 发表于 2026-4-17 12:38:11

相当不错了。

寒风 发表于 2026-4-17 12:52:46

继续加油

zqiz 发表于 2026-4-17 13:12:55

66666

blackvolcano 发表于 2026-4-17 14:16:57


优秀。。。

kca 发表于 2026-4-17 15:44:33

666666666

xrea 发表于 2026-4-17 16:23:25

感谢分享
页: [1] 2 3 4 5
查看完整版本: DeepSeek Direct2D封装最终版