0
我的代碼:HTML5 - 畫布徑向漸變形狀邊緣
var $c = $('#myCanvas');
$c.attr('width', $(window).innerWidth());
$c.attr('height', $(window).innerHeight() * 0.99);
var cidx=0;
function redraw() {
var ctx = $c.get(0).getContext('2d');
var w = ctx.canvas.width;
var h = ctx.canvas.height;
var r = Math.min(w,h)/2;
ctx.clearRect(0,0,w,h);
ctx.beginPath();
var grad = ctx.createRadialGradient(w/2,h/2, 0.94*r, w/2, h/2, 1*r);
grad.addColorStop(1, "transparent");
grad.addColorStop(0.75, "red");
ctx.fillStyle=grad;
ctx.arc(w/2, h/2, r, 1.5*Math.PI, 1.5*Math.PI + 1*(0.5*Math.PI));
ctx.fill();
ctx.restore();
}
我得到這個結果:
我想要得到這樣的結果:
這裏有什麼辦法可以讓圓形成爲邊緣?如果沒有變化:
ctx.arc(w/2, h/2, r, 1.5*Math.PI, 1.5*Math.PI + 1*(0.5*Math.PI));
,因爲我需要顯示時鐘,如:
- 四的過去 -
ctx.arc(w/2, h/2, r, 1.5*Math.PI, 1.5*Math.PI + 1*(0.5*Math.PI));
- 半 -
ctx.arc(w/2, h/2, r, 1.5*Math.PI, 1.5*Math.PI + 2*(0.5*Math.PI));
- 四到 -
ctx.arc(w/2, h/2, r, 1.5*Math.PI, 1.5*Math.PI + 3*(0.5*Math.PI));
- 整個小時 -
ctx.arc(w/2, h/2, r, 1.5*Math.PI, 1.5*Math.PI + 4*(0.5*Math.PI));