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。啊哈…徽标夹在动画楔子内。检查我的更新答案。