要在画布上下文中绘制一条虚线,我使用以下命令
var canvas = document.getElementById('canv');
ctx = canvas.getContext('2d');
ctx.setLineDash([5]);
当我不想画更多的虚线时,我会这样做。
ctx.setLineDash([0]);
在桌面浏览器中删除仪表盘是可行的,但是在移动Safari中这是行不通的。有没有其他方法可以去掉虚线,画出平坦连续的实线?
谢谢
发布于 2014-09-11 22:50:30
将代码包装在context.save
/ context.restore
中
ctx.save();
ctx.setLineDash([5]);
// draw dashed stuff
ctx.restore();
// now the default solid line is restored
发布于 2015-09-08 00:17:58
您可以传递空数组。它还可以使线条成为实线。
ctx.setLineDash([])
const c = document.getElementById("myCanvas");
const ctx = c.getContext("2d");
ctx.setLineDash([5, 3]);
ctx.strokeRect(20, 20, 150, 100);
button.onclick = () => {
ctx.clearRect(15, 15, 200, 200);
ctx.setLineDash([]);
ctx.strokeRect(20, 20, 150, 100);
}
<!DOCTYPE html>
<html>
<body>
<button id='button'>Unset Dashed Line</button><br>
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.</canvas>
</body>
</html>
发布于 2018-10-19 00:09:40
我将尽可能简单地解释:
https://stackoverflow.com/questions/25785890
复制相似问题