在其他Stack Overflow成员的帮助下。我创建了一个我正在构建的网站的动画画布部分。分层画布做背景
我很新的画布,我想要做的是有一个动画圆弧/圆
function animate(elementId, endPercent) {
var canvas = document.getElementById(elementId);
var context = canvas.getContext('2d');
var x = canvas.width/2;
var y = canvas.height/2;
var radius = 43.5;
var curPerc = 0;
var counterClockwise = false;
var circ = Math.PI * 2;
var quart = Math.PI/2;
context.lineWidth = 9;
context.strokeStyle = '#c51414';
context.lineCap = 'butt';
context.shadowOffsetX = 1;
context.shadowOffsetY = 1;
context.shadowBlur = 1;
context.shadowColor = "#c51414";
function render(current) {
context.clearRect(0, 0, canvas.width, canvas.height);
context.beginPath();
context.arc(x, y, radius, -(quart), ((circ) * current) - quart, false);
context.stroke();
curPerc++;
if (curPerc <= endPercent) {
requestAnimationFrame(function() {
render(curPerc/100);
});
}
}
render();
}
animate('skill1', 90);
animate('skill2', 80);
animate('skill3', 45);
animate('skill4', 92);
animate('skill5', 80);
animate('skill6', 65);
这里是我使用的时刻脚本。在底部它使用
animate('skill3', 45);
最后45是电弧行进百分比。 这里是一个小提琴,使它更容易看到。
我想还是用帆布做的,给每个弧完整的背景圆圈。 这里是我想要达到的图像,(我在Photoshop这样做)
我不想使用图像,并将其放置在圆弧的下面,我已经已经尝试过在画布上放置背景图片,但我确实是关于对齐方式的肛门,它的字面上微像素不同于将背景与动画弧对齐。另外我想用Canvas来做。
任何人都可以帮我一把小提琴怎么做?我想它会在静态圆圈的顶部放置动画弧线。
请帮忙,因为这让我疯狂!
完美!无法做得更好,如果我尝试! – Blackline