我查看了如何使用HTML5画布绘制虚线并发现setLineDash()
。它似乎在我的浏览器(Chrome,Firefox和Safari)中工作正常,但我无法找到"标准"禁用它的方法
我有一个函数可以在一个间隔上调用,该间隔绘制一些实线然后是虚线。我最好的猜测是这样做:
context.beginPath();
// Toggle off the previous loop's dashed lines
if (context.setLineDash)
context.setLineDash([]);
// Code to draw the solid lines
context.stroke();
context.closePath();
if (context.setLineDash)
context.setLineDash([8, 8]);
context.beginPath();
// Code to draw the dashed lines
context.stroke();
context.closePath();
我的主要问题是以下部分是否适合切换虚线:
if (context.setLineDash)
context.setLineDash([]);
答案 0 :(得分:5)
每个CanvasDrawingStyles对象都有一个破折号列表,该列表为空或由偶数个非负数组成。最初,dash list必须为空。
Dash列表以空数组[]
开头,因此您应将其设置为空数组,以将短划线列表重置为初始状态。
另请参阅setLineDash
定义,其中还注明了破折号列表defaults to empty。
void setLineDash(sequence<unrestricted double> segments); // default empty