Javascript 获取从`<;路径>;`svg的信息
让我们以这个简单的.svg为例: 对于该形状,我得到以下代码:Javascript 获取从`<;路径>;`svg的信息,javascript,svg,path,area,Javascript,Svg,Path,Area,让我们以这个简单的.svg为例: 对于该形状,我得到以下代码: <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="1000px" height="1000px" viewBox="0 0 1000 1000" enable-background="ne
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="1000px" height="1000px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
<path d="M1000,500c0,276.143-223.857,500-500,500c-276.143,0-57.729-467.521-313.389-571.889C-252.278,248.944,223.858,0,500,0
C776.143,0,1000,223.857,1000,500z"/>
</svg>
我有一种方法可以从.svg的
信息中得到面积的值吗?
<path d="M1000,500c0,276.143-223.857,500-500,500c-276.143,0-57.729-467.521-313.389-571.889C-252.278,248.944,223.858,0,500,0
C776.143,0,1000,223.857,1000,500z"/>
您可以将路径转换为多边形,然后使用“多边形面积”算法 精度将取决于转换过程中使用的点数以及可能累积的任何浮点错误 我不知道它的精确度与像素计数法相比如何。但我希望它更准确 多边形(点)的函数计算 { 如果(点长度<3) 返回0; 变量面积=0,n=点长度;
对于(var i=0;i@RobertLongson这可能是个主意。你的头顶上有一个例子吗?好的,谢谢,我会挖掘这个方向。太好了!对于100乘100的圆,我得到这个结果=>7853.85021621853(应该得到7850).因此,这非常准确…我将尝试其他解决方案,但我非常乐意勾选您的答案..简单且高效=)。要调整精度,这一行我必须参数“var numSteps=Math.floor(pathLen*2);”?我看到它会改变多边形的数量,但不会改变最终结果…..是的,我根据路径长度计算步数。但您可能希望将其作为一个参数。或者以不同的方式计算步数。步数确实会产生差异,通常越大越好。但您选择的步数将是甚至速度和准确性。