我正在尝试画一个圆,一种时钟,我从点 p1 开始并使用画布 2d 上下文绘制一个黑色的弧线,当我到达点 p1(完整的循环游览)时,我将颜色更改为白色,然后继续绘制,这应该会给它一种效果,就像黑色弧线被擦除一样,但是这不能按预期工作,因为当我改变上下文的颜色时,一切都会改变......
如何在不改变整个场景的颜色的情况下保持第一个圆圈的颜色,并在其上用不同的颜色绘制另一个圆圈?
这是我的尝试
<!DOCTYPE html />
<html>
<head>
<title></title>
<script type="text/javascript">
var i = 0.01;
var Color = "Black";
var x = 75; // x coordinate
var y = 75; // y coordinate
var radius = 20; // Arc radius
var startAngle = 0; // Starting point on circle
var anticlockwise = false; // clockwise or anticlockwise
function draw() {
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
ctx.beginPath();
var endAngle = i; // End point on circleMath.PI + (Math.PI * 5) /
if (Math.floor(endAngle) >= 6) {
i = 0.01;
if (Color == "Black") {
Color = "White";
} else {
Color = "Black";
}
}
ctx.strokeStyle = Color;
ctx.arc(x, y, radius, startAngle, endAngle, anticlockwise);
ctx.stroke();
i = i + 0.05;
//document.getElementById('display').innerHTML = Math.floor(endAngle) + " " + Color;
}
</script>
</head>
<body onload="window.setInterval(function(){draw()},100);">
<canvas id="canvas" width="150" height="150"></canvas>
<span id="display"></span>
</body>
</html>