详细介绍SVG路径的T平滑二次贝塞尔曲线命令,学习如何简化连续二次曲线的绑制。通过实例掌握T命令与Q命令的配合使用。 T命令是Q命令的简化形式,用于绑制平滑连接的二次贝塞尔曲线。
T命令自动计算控制点,使其与前一个控制点关于连接点对称。这样就能保证曲线平滑过渡。
<path d="M 50,150 Q 100,50 150,150 T 250,150 T 350,150" fill="none" stroke="#3498db" stroke-width="2"/>
紫色圆点表示T命令自动计算的控制点。
| 参数 | 说明 |
|---|---|
| x,y | 终点坐标 |
控制点自动计算,无需指定。
<path d="M 30,75 Q 60,20 90,75 T 150,75 T 210,75 T 270,75" fill="none" stroke="#e74c3c" stroke-width="2"/>
<!-- Q连续:每段独立控制 -->
<path d="M 30,75 Q 60,20 90,75 Q 100,130 150,75 Q 160,20 210,75 Q 220,130 270,75" fill="none" stroke="#3498db" stroke-width="2"/>
<!-- Q + T:自动平滑 -->
<path d="M 30,75 Q 60,20 90,75 T 150,75 T 210,75 T 270,75" fill="none" stroke="#e74c3c" stroke-width="2"/>
<path d="M 0,50 Q 25,10 50,50 T 100,50 T 150,50 T 200,50 T 250,50 T 300,50" fill="none" stroke="#3498db" stroke-width="2"/>
<path d="M 40,80 Q 20,80 20,60 Q 20,40 40,40 Q 50,20 80,20 Q 110,10 130,30 Q 160,20 170,50 Q 190,50 190,70 Q 190,90 160,90 Q 130,100 100,90 Q 70,100 40,80" fill="#ecf0f1" stroke="#bdc3c7" stroke-width="2"/>
<path d="M 20,50 Q 50,20 100,50 Q 50,80 20,50" fill="#3498db" stroke="#2980b9" stroke-width="2"/>
<path d="M 100,50 Q 130,30 160,50 Q 130,70 100,50" fill="#3498db" stroke="#2980b9" stroke-width="2"/>
<polygon points="160,50 190,30 190,70" fill="#3498db" stroke="#2980b9" stroke-width="2"/>
<circle cx="40" cy="45" r="3" fill="#fff"/>
<path d="M 30,75 q 30,-55 60,0 t 60,0 t 60,0 t 60,0" fill="none" stroke="#9b59b6" stroke-width="2"/>
T命令必须跟在Q或T命令后面使用。如果T命令是第一个曲线命令,控制点与起点重合。
<path d="M 30,75 T 150,75 T 270,75" fill="none" stroke="#f39c12" stroke-width="2"/>
| 特性 | Q+T | C+S |
|---|---|---|
| 控制点 | 每段1个 | 每段2个 |
| 曲线形状 | 单向弯曲 | 可S形弯曲 |
| 代码简洁度 | 更简洁 | 较复杂 |
| 灵活性 | 较低 | 较高 |
| 适用场景 | 简单平滑曲线 | 复杂曲线 |
T命令简化了连续二次曲线的绑制:
掌握Q和T命令,就能快速绑制各种平滑的弧形图形。