Path2D(SwiftUI Path)
Path2D 是一条按段构建的矢量路径,语义对齐 SwiftUI 的 Path。它是一个普通的值:用直线 / 曲线命令
构建它,查询它的几何信息,对它做变换,用 <PathShape> 视图渲染它,或把它当作裁剪 / 命中 / 容器形状。
之所以叫
Path2D,是因为Path这个名字已被文件路径工具占用。绘制 API 本身遵循 SwiftUI 的Path。
约定
- 点用
{ x, y },矩形用{ x, y, width, height }。 - 角度单位是弧度。
- 构建方法可链式调用(返回路径本身)。
- 坐标是绝对坐标(在形状自己的坐标系内),与 SwiftUI 的
Path一致。
构建路径
构建方法
clockwise遵循 SwiftUI 的约定,与 Web Canvas 的counterclockwise标志相反 —— 从 Canvas 迁移代码时请注意。
用 <PathShape> 渲染
<PathShape> 把 Path2D 渲染成 SwiftUI 形状,支持 fill、stroke、trim 以及全部 view modifier,
与 Rectangle、Circle 完全一致。传 path(预先构建好的值)或 draw(尺寸响应式构建闭包,类似 <Canvas>),二选一。
尺寸由 view modifier 控制(frame、padding 等)。使用 draw 时,实际绘制尺寸是第二个参数;不要在闭包里调用 setState。
几何查询
按需计算,立即返回。
变换
变换返回一条新的 Path2D(原路径不变)。
当作裁剪 / 命中 / 容器形状
在任何接受形状的地方传入 Path2D:
要把路径当作遮罩(mask),把它渲染成 <PathShape> 再传给 mask:
