我通过设置属性 transform="rotate(45)" 旋转了一个 SVG 路径元素
现在我怎么能得到旋转的 SVG 路径点?
当我检查属性“d”时,它仍然显示原始点[未旋转]。
我通过设置属性 transform="rotate(45)" 旋转了一个 SVG 路径元素
现在我怎么能得到旋转的 SVG 路径点?
当我检查属性“d”时,它仍然显示原始点[未旋转]。
如果您通过 path.getPointAtLength() 获得点,则需要将路径转换应用于结果。您通过以下方式获得总转换:
var t = path.getTransformToElement( path.ownerSVGElement );
var abspoint = path.getPointAtLength( 0.5 ).matrixTransform( t );
我没有对此进行测试,但这可能是这种方式......
这对路径上的某些点有好处。如果应该将整个路径数据列表转换为绝对数据,那么 raphael 可能是最快的解决方案......
svg 本身没有提供该功能的功能。在 jQuery 中也没有 AFAIK。
javascript 库 Raphaël 包含您想要的实用方法,请参阅Raphael.transformPath。