Javascript 使用画布为类似于饼图的填充圆设置动画

Javascript 使用画布为类似于饼图的填充圆设置动画,javascript,html,canvas,Javascript,Html,Canvas,基本上,我希望能够用画布填充一个圆,但它会像饼图和遮罩一样动画化,以在圆中显示新图像。 我的画布知识并不惊人,这里有一个图像来显示我想要的。 有人能解释一下怎么做吗? 这是我处理过的一些事情 var canvas = document.getElementById('Circle'); var context = canvas.getContext('2d'); var centerX = canvas.width / 2; var centerY =

基本上,我希望能够用画布填充一个圆,但它会像饼图和遮罩一样动画化,以在圆中显示新图像。 我的画布知识并不惊人,这里有一个图像来显示我想要的。 有人能解释一下怎么做吗? 这是我处理过的一些事情

    var canvas = document.getElementById('Circle');
      var context = canvas.getContext('2d');
      var centerX = canvas.width / 2;
      var centerY = canvas.height / 2;
      var radius = 80;
            var full = radius*2;
            var amount = 0;
            var amountToIncrease = 0.1;
      function draw() {
      context.beginPath();
      context.arc(centerX, centerY, radius, 0, amount * Math.PI, false);
      context.fillStyle = '#13a8a4';
      context.fill();
      context.lineWidth = 10;
      context.strokeStyle = '#000000';
      context.stroke();
    amount += amountToIncrease;
    if (amount > full) amount = 0; // restart
}
draw();
// Every second we'll fill more;
setInterval(draw, 100);
这是一种方式:

画出你的灰色背景。 在时钟上用-Math.PI*2==12的起始角和-Math.PI*2+Math.PI*2*percent==2PI乘以所需百分比的整圈来填充百分比弧。 画你的标志。 要设置动画,只需使用requestAnimationFrame循环,该循环增量绘制从0%开始到目标百分比结束的百分比圆弧

示例代码和演示:

var canvas=document.getElementByIdcanvas; var ctx=canvas.getContext2d; var cw=画布宽度; var ch=画布高度; var-nextTime=0; var持续时间=1000; var endingPct=75; var-pct=0; var增量=持续时间/pct; 请求动画帧动画; 函数动画时间{ drawpct; pct++; 如果PCT这是一种方法:

画出你的灰色背景。 在时钟上用-Math.PI*2==12的起始角和-Math.PI*2+Math.PI*2*percent==2PI乘以所需百分比的整圈来填充百分比弧。 画你的标志。 要设置动画,只需使用requestAnimationFrame循环,该循环增量绘制从0%开始到目标百分比结束的百分比圆弧

示例代码和演示:

var canvas=document.getElementByIdcanvas; var ctx=canvas.getContext2d; var cw=画布宽度; var ch=画布高度; var-nextTime=0; var持续时间=1000; var endingPct=75; var-pct=0; var增量=持续时间/pct; 请求动画帧动画; 函数动画时间{ drawpct; pct++;
如果你可以选择markE的回复作为答案,它工作得很好。你可以选择markE的回复作为答案,它工作得很好。答案很好,但你忘了做掩蔽。一个简单的剪辑就可以了。谢谢markE,但我需要彩色徽标图像蒙版来循环并用过程圆显示,@hamedfallahi。啊哈…动画中的徽标剪辑Ting wedge。检查我的更新答案。答案很好,但你忘了做遮罩。一个简单的剪辑就可以了。谢谢markE,但我需要彩色徽标图像遮罩来圈出并与process circle一起显示,@hamedfallahi。啊哈…徽标夹在动画楔子内。检查我的更新答案。