gpt4 book ai didi

javascript - Raphael/SVG 路径定义总是以 'M' 开头吗? (如果不是,这样的路径的原点总是 0,0 吗?)

转载 作者:行者123 更新时间:2023-11-28 20:36:46 24 4
gpt4 key购买 nike

我正在开发一些类似插件的代码,以简化将拉斐尔路径移动到固定位置的过程。

通常,Raphael 路径的第一部分(使用基于 SVG 语法的语法)是“M”moveto 命令,定义路径的原点。

两个密切相关的问题:

  1. 假设任何任意路径都以“M”moveto 命令开头是否合理? (我怀疑答案是否定的)
  2. 假设问题 1 为“否”。上面,在遇到不以“M”开头的 Raphael 路径数组(somePath.attr(path)[0][0] != 'M')时,是否可以假设此路径的原点总是0,0?因此,从 0,0 开始的任何移动都将来自过去的变换,因此将在 somePath.attr(transform) 中进行描述?

从 Raphael 文档来看,Path 数组的规范中似乎没有任何内容与 2. 相矛盾,但在做出假设之前总是值得检查意外情况。

<小时/>

换句话说,在任何情况下,该函数都不会返回 Raphael 路径原点的正确 X 和 Y 坐标(假设它传递了 somePath.attr('path ') 有效的拉斐尔路径):

function getPathOrigin (path) {
if (path[0][0] == 'M') {
return {x: path[0][1], y: path[0][2]}
} else {
return {x: 0, y: 0}
}
}

最佳答案

根据the specification路径必须以 moveto 命令开始。

关于javascript - Raphael/SVG 路径定义总是以 'M' 开头吗? (如果不是,这样的路径的原点总是 0,0 吗?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15231523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com