Javascript 如何通过删除转换属性重新创建svg路径?
我希望通过删除“变换”属性来重新创建路径。 这是我的路Javascript 如何通过删除转换属性重新创建svg路径?,javascript,svg,path,rotation,transform,Javascript,Svg,Path,Rotation,Transform,我希望通过删除“变换”属性来重新创建路径。 这是我的路 <path d="M403.50030270807304 217.03163650993932 L686.287752708073 217.03163650993932 L686.287752708073 417.3799865099393 L403.50030270807304 417.3799865099393 Z" fill="none" stroke="#006400" stroke-miterlimit="null" st
<path d="M403.50030270807304 217.03163650993932 L686.287752708073 217.03163650993932 L686.287752708073 417.3799865099393 L403.50030270807304 417.3799865099393 Z" fill="none" stroke="#006400" stroke-miterlimit="null" stroke-width="1" pointer-events="all" id="bound_0" transform="rotate(90,403.50030270807304,217.03163650993932)" stroke-dasharray="5"></path>
我想删除transform=“rotate(90403.50030270807304217.03163650993932)”
并重新生成路径(“d”属性)
是否有任何解决方案或其他方法?来自:
d="M403.50030270807304 217.03163650993932 L686.287752708073 217.03163650993932 L686.287752708073 417.3799865099393 L403.50030270807304 417.3799865099393 Z"
最多保留2位小数,添加逗号作为“x,y”分隔符
d="M403.5, 217.03 L686.29, 217.03 L686.29, 417.38 L403.5, 417.38 Z"
从下一个坐标中去掉第一对坐标,并一直进行到结束
如果第一个坐标大于第二个坐标,则结果*-1
d="M403.5, 217.03 L686.29, 217.03 L686.29, 417.38 L403.5, 417.38 Z"
403.5 - 686.29 = 282.79
217.03 - 217.03 = 0
686.29 - 686.29 = 0
217.03 - 417.38 = 200.35
686.29 - 403.5 = -282.79
417.38 - 417.38 = 0
将每次计算的结果依次放入路径中。
用L(绝对线到)代替L(相对线到)
缩短v和h的lineto,因为它们是垂直线和水平线,并去掉0
d="M403.5, 217.03 h282.79 v200.35 h-282.79 z"
transform=“rotate(90403.5217.03)”
内容如下:
在x=403.5,y=217.03时,旋转90度。
403.5217.03是路径的起点(原点),
i、 它的一个角落。
旋转90度时,水平面变成垂直面,垂直面变成水平面。将h200.35更改为h-200.35
d="M403.5, 217.03 h282.79 v200.35 h-282.79 z"
d="M403.5, 217.03 v282.79 h-200.35 v-282.79z"
虽然事实上你有一个矩形,但是元素rect(一个自解释的元素)应该足够了,我建议你使用它<代码>来自:
d="M403.50030270807304 217.03163650993932 L686.287752708073 217.03163650993932 L686.287752708073 417.3799865099393 L403.50030270807304 417.3799865099393 Z"
最多保留2位小数,添加逗号作为“x,y”分隔符
d="M403.5, 217.03 L686.29, 217.03 L686.29, 417.38 L403.5, 417.38 Z"
从下一个坐标中去掉第一对坐标,并一直进行到结束
如果第一个坐标大于第二个坐标,则结果*-1
d="M403.5, 217.03 L686.29, 217.03 L686.29, 417.38 L403.5, 417.38 Z"
403.5 - 686.29 = 282.79
217.03 - 217.03 = 0
686.29 - 686.29 = 0
217.03 - 417.38 = 200.35
686.29 - 403.5 = -282.79
417.38 - 417.38 = 0
将每次计算的结果依次放入路径中。
用L(绝对线到)代替L(相对线到)
缩短v和h的lineto,因为它们是垂直线和水平线,并去掉0
d="M403.5, 217.03 h282.79 v200.35 h-282.79 z"
transform=“rotate(90403.5217.03)”
内容如下:
在x=403.5,y=217.03时,旋转90度。
403.5217.03是路径的起点(原点),
i、 它的一个角落。
旋转90度时,水平面变成垂直面,垂直面变成水平面。将h200.35更改为h-200.35
d="M403.5, 217.03 h282.79 v200.35 h-282.79 z"
d="M403.5, 217.03 v282.79 h-200.35 v-282.79z"
虽然事实上你有一个矩形,但是元素rect(一个自解释的元素)应该足够了,我建议你使用它
您可以将转换后的路径包装在
元素中,并获取g元素的getBBox()
是否可以通过删除此转换属性再次生成路径。您可以将转换后的路径包装在
元素中,并获取getBBox()
的g元素是否可以通过删除此转换属性再次生成路径。