Потому что API холста не имеет пунктирных линий.
Так что вам нужно реализовать это самостоятельно
Кстати, было бы неплохо рассмотреть тригонометрические функции?
var context=document.getElementById(canvas).getContext(2d);function drawDashedLine(context,x1,y1,x2,y2,dashlength) { Dashlength=dashlength===undefined?5:dashlength;x2-x1; //Длина прямоугольной стороны var deltay=y2-y1 //Длина другой стороны инструкции var; numDashes=Math.floor( Math.sqrt(deltaX*deltaX+deltay*deltay)/dashlength //Math.sqrt возвращает квадратный корень из числа Dashlength и длины каждой точки пунктирной линии) var EverydashLength_x=deltaX/numDashes //Определяем каждую точку на оси X. Начальная точка пунктирной линии указывает var EverydashLength_y=deltay/numDashes //Определяем начальную точку каждой точки пунктирной линии на оси Y for(var i=0;i<numDashes;i++){ context[i%2===0?'moveTo':lineTo] (x1+everydashLength_x* i,y1 +everydashLength_y*i) } context.stroke()}context.lineWidth=3context.strokeStyle=bluedrawDashedLine(context,20,20,context.canvas.width-20,20,20)
Эффект такой, как показано на рисунке.
Выше приведено все содержание этой статьи. Я надеюсь, что она будет полезна для изучения всеми. Я также надеюсь, что все поддержат сеть VeVb Wulin.