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