Я нашел похожие вопросы там, но ответа нет. Я набросал круг, как это
ctx.strokeStyle='rgb(0,0,0)';
ctx.lineWidth=10;
ctx.beginPath();
ctx.arc(100,100,45,0,Math.PI*2,true);
ctx.closePath();
ctx.stroke();
, который дает круг, расположенный в точке (100,100) с радиусом 45, плюс 5 для ширины линии, что делает его кругом с радиусом 50. Теперь я хочу нарисовать точно такой же круг, но другого цвета, и только 1/4 оригинальной окружности (вспомним красное кольцо гибели XBOX 360). Итак, я попробовал это
ctx.strokeStyle='rgb(0,250,0)';
ctx.lineWidth=10;
ctx.beginPath();
ctx.arc(100,100,45,0,Math.PI/2,true); //use 1/4 of original angle
ctx.closePath();
ctx.stroke();
Но у этого есть действительно раздражающий аспект соединения первой и последней точек (иногда мне интересно, кто создал элемент canvas, например, при встраивании текста, но не заставляйте меня начинать с этого ...)