画布以度为单位

时间:2014-01-08 14:57:19

标签: javascript canvas degrees

我正在尝试在画布中创建一个Arc,我想使用度数而不是弧度。 问题是它不是从12点开始,而是在3点钟开始,就像文档所说的那样,但我怎么能强迫它到12?

JsFiddle:http://jsfiddle.net/C8CXz/

function degreesToRadians (degrees) {
   return degrees * (Math.PI/180);     
}

function radiansToDegrees (radians) {
   return radians * (180/Math.PI);
}

var canvas = document.getElementById('circle');
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.arc(80, 80, 50, degreesToRadians(0), degreesToRadians(180), false);
ctx.lineWidth = 10;
ctx.stroke();

1 个答案:

答案 0 :(得分:2)

绘制圆弧时,将半个PI减去开始和结束点,如下所示:

...
ctx.arc(80, 80, 50, degreesToRadians(0)-Math.PI/2, degreesToRadians(180)-Math.PI/2, false);
...

以下是 Fiddle