【发布时间】:2016-01-25 22:56:58
【问题描述】:
我有这个非常简单的画布脚本,FIDDLE HERE。
JS代码:
$(function() {
var canvas = $('<canvas></canvas>').attr({
width: 200,
height: 200
}).appendTo('.circle').get(0);
var context = canvas.getContext('2d');
context.clearRect(0, 0, 100, 100);
context.beginPath();
context.arc(100, 100, (200 / 2.5), Math.PI * 2, 0, false);
context.lineWidth = 10;
context.strokeStyle = "#eeeeee";
context.stroke();
context.fillStyle = "#FF0033";
context.fill();
var curPerc = 0;
function drawArc(current) {
console.log(current + ' ' + curPerc);
context.beginPath();
context.arc(100, 100, (200 / 2.5), 0, ((Math.PI * 2) * current), false);
context.strokeStyle = '#9BCB3C';
context.stroke();
//console.log(curPerc)
if (curPerc < 75) {
curPerc += 1;
requestAnimationFrame(function() {
drawArc(curPerc / 100);
});
};
}
drawArc();
});
现在的问题是圆圈看起来不太完美,边框有点扭曲,我使用的是最新版本的 chrome(最新 FF 中的情况相同),下面是它的外观:
这是一个已知问题吗,是否有一个简单的解决方法,这就是我想知道的。任何帮助或建议将不胜感激。
谢谢。
【问题讨论】:
-
你试过在你的`context.beginPath();'之后使用
context.lineCap = 'round';吗?也只是您所指的锯齿状边缘吗? -
@Canvas:我认为他更想去除锯齿状的边缘。
-
@Canvas ,是的锯齿状边缘 :)
标签: javascript jquery css canvas