2
我想在SVG中得到类似的东西。 到目前为止,我已经创造了这个圈子,但我想正确定位周围的黑色区域。SVG圆弧区
的API返回四个值:
- start_angle:第一角度(看起来是一个弧度)
- end_angle:最终角度(看起来是一个弧度)
- inner_radius:较小的半径
- outer_radius:更大的半径
这里是我想要的方案:
我做了SVG的JavaScript,所以我的代码是这样的:
var myArc = document.createElementNS('http://www.w3.org/2000/svg', 'path');
myArc.setAttribute('fill', 'black');
myArc.setAttribute('d', 'M-'+outer_radius+',32A'+outer_radius+','+outer_radius+' 0 0,1 -'+outer_radius+',-32L-'+inner_radius+',-30A'+inner_radius+','+inner_radius+' 0 0,0 -'+inner_radius+',30Z');// TODO
arcs.appendChild(myArc);
这可以绘制一个区域,但我不知道是什么值放在 我已经试图确定使用点,但它不起作用:
var pointA = [outer_radius * Math.cos(start_angle * 180/Math.PI), outer_radius * Math.sin(start_angle * 180/Math.PI)];
var pointB = [outer_radius * Math.cos(end_angle * 180/Math.PI), outer_radius * Math.sin(end_angle * 180/Math.PI)];
var pointC = [inner_radius * Math.cos(end_angle * 180/Math.PI), inner_radius * Math.sin(end_angle * 180/Math.PI)];
var pointD = [inner_radius * Math.cos(start_angle * 180/Math.PI), inner_radius * Math.sin(start_angle * 180/Math.PI)];
你能帮我解决这个问题吗?
感谢您的帮助。
非常感谢。它完成这项工作;) – Manitoba