Intersection library from Kevin Lindsey可以轻松计算几种svg
元素(路径,矩形,线......)之间的交叉点。
但是,它似乎没有考虑通过transform="translate(x,y) rotate(r)"
应用于任何对象的转换。
<svg>
<polygon id="machine" transform="translate(40,25) rotate(45)"... />
<path id="outer" ... />
</svg>
<script>
var machine = document.getElementById("machine")
var outer = document.getElementById("outer")
var m = new Polygon(machine)
var o = new Path(outer)
Intersection.intersectPathShape(o, m) // incorrect
</script>
有没有办法在计算交叉点时考虑应用于任何元素的转换?
答案 0 :(得分:1)
您可以尝试将值更改为“屏幕”值,然后提取变换。以下是多边形和路径(弧除外)的一些示例: 关于路径的注意事项:Chrome最近弃用了pathSegList,现在需要使用polyfill, https://github.com/progers/pathseg
<br>