可以给我一个函数来获取吗 返回起点 p0、控制点 p1 和终点 p2

动态 未结 0 95
小小草
小小草 LV1 2023年9月23日 23:40 发表
当 SVG 路径命令只包含一条二次贝塞尔曲线时,可以使用以下函数来获取起点、控制点和终点: ```javascript function getQuadraticBezierCurvePoints(path) { const regex = /M([\d.]+),([\d.]+)C([\d.]+),([\d.]+)\s([\d.]+),([\d.]+)/; const match = path.match(regex); if (!match) { return null; } const [_, x0, y0, x1, y1, x2, y2] = match.map(parseFloat); const p0 = { x: x0, y: y0 }; const p1 = { x: x1, y: y1 }; const p2 = { x: x2, y: y2 }; return { p0, p1, p2 }; } ``` 这个函数接受一个 SVG 路径命令字符串作为参数,返回一个包含起点、控制点和终点的对象。如果路径命令不是一条二次贝塞尔曲线,则返回 `null`。 你可以像这样调用该函数: ```javascript const path = 'M250,187.984375C250,233.9921875 350,233.9921875 350,280'; const curve = getQuadraticBezierCurvePoints(path); console.log(curve); // { p0: { x: 250, y: 187.984375 }, p1: { x: 250, y: 233.9921875 }, p2: { x: 350, y: 280 } } ``` 注意,这个函数只适用于路径命令只包含一条二次贝塞尔曲线的情况。如果你需要处理更复杂的路径命令,需要编写更复杂的函数来解析它们。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复