# g-circle 标签 API 文档 本文档由 `DeepSeek R1` 模型生成并微调。 --- ```mermaid graph LR CircleProps --> GraphicBaseProps --> BaseProps click GraphicBaseProps "./GraphicBaseProps" click BaseProps "./BaseProps" ``` --- ## 接口定义 ```typescript interface CircleProps extends GraphicBaseProps { radius?: number; // 圆的半径 start?: number; // 起始角度(单位:弧度) end?: number; // 结束角度(单位:弧度) circle?: CircleParams; // 简写属性 [x, y, radius, start?, end?],后两项要么都填,要么都不填 } ``` --- ## 核心属性说明 | 属性 | 类型 | 默认值 | 说明 | | -------- | ------------------------- | ------ | ---------------------------------------------------------- | | `radius` | `number` | - | 圆的半径(单位:像素) | | `start` | `number` | `0` | 起始角度(弧度),0 弧度 = 3 点钟方向(水平向右) | | `end` | `number` | `2π` | 结束角度(弧度),默认完整圆 | | `circle` | `[x, y, r, start?, end?]` | - | 简写属性:
`[圆心x, 圆心y, 半径, 起始角度?, 结束角度?]` | --- ## 完整示例集 ### 示例 1:基础圆形(填充) ```tsx ``` --- ### 示例 2:描边圆形 ```tsx ``` --- ### 示例 3:弓形(填充闭合) ```tsx ``` **角度说明**: - 绘制方向:**顺时针**(从 12 点走向 9 点) - 自动闭合路径形成扇形 --- ### 示例 4:圆弧(非闭合) ```tsx ``` **路径特征**: - 起始角度:45 度(右上对角线方向) - 结束角度:270 度(12 点钟方向) - 开环不闭合,形成月牙形弧线 --- ## 角度系统详解 ### 坐标系与方向 ```typescript // 0弧度基准点与绘制方向示意图 /* Math.PI / 2 (90°) | | Math.PI (180°) ——+—— 0 (0°) | | Math.PI * 3 / 2 (270°) */ ``` - **0 弧度基准**:3 点钟方向(与浏览器 Canvas API 完全一致) - **绘制方向**:角度递增为顺时针方向(`start=0, end=Math.PI/2` 绘制右下四分之一圆) ### 特殊角度对照表 | 弧度值 | 角度值 | 方向 | | ------------- | ------ | ------ | | `0` | 0° | 正右 → | | `Math.PI/2` | 90° | 正上 ↑ | | `Math.PI` | 180° | 正左 ← | | `3*Math.PI/2` | 270° | 正下 ↓ | --- ## 高级用法示例 ### 动态进度环 ```tsx import { ref } from 'vue'; import { onTick } from '@motajs/render-vue'; const progress = ref(0); // 每帧更新进度 onTick(() => { progress.value += 0.01; }); ; ``` **效果**: - 0%时从顶部开始 - 进度条顺时针增长 - 圆角端点消除锯齿 --- ## 注意事项 1. **简写属性优先级**: ```tsx // 谁最后设置用谁的 ```