作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个简单的 Canvas 元素:
<canvas id="floor" style="background-color:#f7f7f7;border:1px #000 solid;" >
</canvas>
我还有一个创建垂直/水平线的draw
函数:
function draw(){
ctx.translate(0.25, 0.25);
for (var x = size; x < canvas.width; x += size) { //vertical
ctx.moveTo(x, 0);
ctx.lineTo(x, canvas.height);
}
for (var y = size; y < canvas.height; y += size) { //horizontal
ctx.moveTo(0, y);
ctx.lineTo(canvas.width, y);
}
ctx.strokeStyle = "#C1C1C1";
ctx.stroke();
}
结果:
按钮再次调用此draw
函数:
$(".b").on('click',function (){
draw();
})
但是如果我多次点击这个按钮,它似乎会添加更多的线条使其看起来更粗:
问题
如果我绘制完全相同的线条,为什么 Canvas 看起来不一样?
如何修改我的代码以使其看起来一样?
最佳答案
在每次调用 draw
时,您需要开始一条新路径:
ctx.beginPath();
关于javascript - 重绘相同的 Canvas 线条不准确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52402154/
我是一名优秀的程序员,十分优秀!