我正在学习使用HTML5画布,我决定为圆形绘制设置动画:
http://codepen.io/anon/pen/KdpyVm
通过从一个点绘制,然后完成圆圈,它正确启动。但显然有一些我不理解的有趣的事情。
endAngle
达到2PI时,为什么不重新开始?答案 0 :(得分:2)
您没有清除整个画布(仅左上角部分),因此线条中的额外粗细是从画布中重绘圆圈时未被清除的部分发生的:
ctx.clearRect(0,0,600,600);
答案 1 :(得分:1)
正如Spencer Wieczorek所说,你并没有清理整个画布。
你应该使用画布'自己的宽度和高度来清除画布。
变化:
var ctx = document.getElementById('canvas').getContext('2d');
要:
var canvas = document.getElementById('canvas')
var ctx = canvas.getContext('2d');
然后像这样使用宽度和高度......
ctx.clearRect(0, 0, canvas.width, canvas.height);
这样,如果你改变画布大小,整个事情仍然会被清除。