在其他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