首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从HTML上下文中删除虚线

如何从HTML上下文中删除虚线
EN

Stack Overflow用户
提问于 2014-09-11 19:09:21
回答 3查看 9.9K关注 0票数 25

要在画布上下文中绘制一条虚线,我使用以下命令

代码语言:javascript
复制
    var canvas = document.getElementById('canv');
    ctx = canvas.getContext('2d');        
    ctx.setLineDash([5]);

当我不想画更多的虚线时,我会这样做。

代码语言:javascript
复制
    ctx.setLineDash([0]);

在桌面浏览器中删除仪表盘是可行的,但是在移动Safari中这是行不通的。有没有其他方法可以去掉虚线,画出平坦连续的实线?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-09-11 22:50:30

将代码包装在context.save / context.restore

代码语言:javascript
复制
ctx.save();
ctx.setLineDash([5]);
// draw dashed stuff
ctx.restore();

// now the default solid line is restored
票数 19
EN

Stack Overflow用户

发布于 2015-09-08 00:17:58

您可以传递空数组。它还可以使线条成为实线。

代码语言:javascript
复制
ctx.setLineDash([])

代码语言:javascript
复制
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);
}
代码语言:javascript
复制
<!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>

票数 54
EN

Stack Overflow用户

发布于 2018-10-19 00:09:40

我将尽可能简单地解释:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25785890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档