递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 111|回复: 6
打印 上一主题 下一主题

[AI开发] DeepSeek Direct2D封装最终版

[复制链接]

22

主题

451

帖子

3857

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3857
跳转到指定楼层
楼主
封装说明


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、完善了位图效果器,图标为高斯模糊 + 阴影效果



完整源码下载

游客,如果您要查看本帖隐藏内容请回复


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

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


回复

使用道具 举报

22

主题

315

帖子

3756

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3756
沙发
发表于 4 小时前 | 只看该作者
继续加油啊
回复

使用道具 举报

59

主题

510

帖子

6987

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6987
板凳
发表于 3 小时前 | 只看该作者
优秀。。。
回复

使用道具 举报

7

主题

137

帖子

1887

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1887
地板
发表于 3 小时前 | 只看该作者
66666
回复

使用道具 举报

485

主题

2万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
48114
QQ
5#
发表于 1 小时前 | 只看该作者
相当不错了。
安卓无障碍课:点击查看
接安卓类库封装,需要的联系570828305
回复

使用道具 举报

8

主题

320

帖子

1996

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1996
6#
发表于 1 小时前 | 只看该作者
继续加油
回复

使用道具 举报

110

主题

948

帖子

7498

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
7498
7#
发表于 半小时前 | 只看该作者
66666
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2026-4-17 14:07 , Processed in 0.100715 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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