繁体   English   中英

SVG - 我如何切割 <path> 一半?

[英]SVG - How do I cut a <path> in half?

我需要在javascript中的特定点剪切现有路径(曲线)。 例如,如果我有以下路径:

<path stroke-width="3"
      stroke="black"
      stroke-linecap="round"
      stroke-linejoin="round"
      id="line_test"
      d="M125,165 C125,165 125,164 125,164">
</path>

从那以后,我可以得到这样的中点:

var line = document.getElementById("line_test");
var length = line.getTotalLength();
var midpoint = line.getPointAtLength(length/2);

一旦我得到那个中点,我想完全删除其余的路径。 有没有一个函数可以让我得到一个子路径? 绘图库对我来说不是一个真正的选择。

是的,它被称为getPathSegAtLength (在路径元素上可用)并且它将索引返回到pathSegList ,该索引可以例如用于在那里切片pathSegList。

pathSegList是一个类似于数组的列表,如果你使用一些最新的浏览器,你可以使用普通的数组表示法来逐步浏览列表,但是它现在可以更加兼容地使用SVG 1.1中定义的接口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM