# g-line 标签 API 文档 本文档由 `DeepSeek R1` 模型生成并微调。 --- ```mermaid graph LR LineProps --> GraphicBaseProps --> BaseProps click GraphicBaseProps "./GraphicBaseProps" click BaseProps "./BaseProps" ``` --- ## 接口定义 ```typescript interface LineProps extends GraphicBaseProps { x1?: number; // 起点X坐标 y1?: number; // 起点Y坐标 x2?: number; // 终点X坐标 y2?: number; // 终点Y坐标 line?: LineParams; // 简写属性 [x1, y1, x2, y2] } ``` --- ## 核心属性说明 | 属性 | 类型 | 默认值 | 说明 | | ---------- | ----------------------------------- | -------- | ---------------------------------------------- | | `x1` | `number` | - | 线段起点 X 坐标(单位:像素) | | `y1` | `number` | - | 线段起点 Y 坐标(单位:像素) | | `x2` | `number` | - | 线段终点 X 坐标(单位:像素) | | `y2` | `number` | - | 线段终点 Y 坐标(单位:像素) | | `line` | `[x1, y1, x2, y2]` | - | 简写属性:一次性定义起点和终点坐标 | | `lineDash` | `number[]` | - | 虚线模式(如 `[5, 3]` 表示 5px 实线+3px 间隙) | | `lineCap` | `"butt"` \| `"round"` \| `"square"` | `"butt"` | 线段端点样式 | --- ## 完整示例集 ### 示例 1:基础实线 ```tsx // 线段默认就是仅描边,因此不需要单独设置 stroke 属性 ``` --- ### 示例 2:虚线线段 ```tsx ``` **效果说明**: - 水平红色虚线 - 线段端点呈圆形 --- ### 示例 3:动态线段(动画) ```tsx import { transitioned } from '@user/client-modules'; // 创建渐变 const x2 = transitioned(100, 2000, linear()); x2.set(400); // 终点横坐标从 100 变到 400 return () => ( ); ``` **动态效果**: - 线段从 100px 位置向右延伸至 400px - 2 秒完成动画 --- ## 线段样式对照表 | 样式组合 | 效果图示 | | --------------------- | ----------------- | | `lineCap="butt"` | 平头端点:⎯ | | `lineCap="round"` | 圆头端点:⭘―――――⭘ | | `lineCap="square"` | 方头端点:▯―――――▯ | | `lineDash=[20,5,5,5]` | 复杂虚线:━━⧀┄⧀┄ | --- ## 注意事项 1. **坐标系差异**: 线段坐标基于父容器坐标系,如需相对定位建议嵌套在`container`中: ```tsx {/* 实际坐标为 (100,100)→(150,150) */} ```