tutorial lineas etiquetas ejemplos dibujar avanzado html5 canvas line

lineas - html5 pdf 2017



¿Dibujando líneas punteadas en HTML5 Canvas? (5)

Esta es una forma más fácil de crear líneas discontinuas:

var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); ctx.setLineDash([5, 15]); ctx.beginPath(); ctx.moveTo(0,100); ctx.lineTo(400, 100); ctx.stroke();

Espero que ayude.

Me gustaría dibujar algunas líneas punteadas en el lienzo HTML5. Pero no pude encontrar esa característica. la ruta del lienzo solo podría dibujar líneas continuas. Y las personas han intentado utilizar alguna característica de borde (punteada, discontinua) en CSS para dibujar líneas punteadas, pero solo pueden ser horizontales o verticales. Así que me quedé atrapado en esto. También encontré una biblioteca llamada RGraph y podría dibujar líneas punteadas. Pero usar una biblioteca externa haría que el dibujo fuera realmente lento. Entonces, ¿algún cuerpo tiene una idea de cómo implementar esto? Cualquier ayuda será apreciada.




Dibujar líneas discontinuas en el lienzo

Ofrezco esto no como una solución completa, sino como una manera simple de dibujar una línea punteada entre 2 puntos cualquiera (una línea en cualquier ángulo). Dibuja muy rápido.

Puede modificarlo para que se ajuste a sus necesidades de una línea punteada. Los trazos de dibujo no deberían ralentizar notablemente el dibujo.

Aquí hay un código y un violín: http://jsfiddle.net/m1erickson/pW4De/

var canvas=document.getElementById("canvas"); var ctx=canvas.getContext("2d"); DrawDottedLine(300,400,7,7,7,20,"green"); function DrawDottedLine(x1,y1,x2,y2,dotRadius,dotCount,dotColor){ var dx=x2-x1; var dy=y2-y1; var spaceX=dx/(dotCount-1); var spaceY=dy/(dotCount-1); var newX=x1; var newY=y1; for (var i=0;i<dotCount;i++){ drawDot(newX,newY,dotRadius,dotColor); newX+=spaceX; newY+=spaceY; } drawDot(x1,y1,3,"red"); drawDot(x2,y2,3,"red"); } function drawDot(x,y,dotRadius,dotColor){ ctx.beginPath(); ctx.arc(x,y, dotRadius, 0, 2 * Math.PI, false); ctx.fillStyle = dotColor; ctx.fill(); }


var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); ctx.setLineDash([5, 3]);/*dashes are 5px and spaces are 3px*/ ctx.beginPath(); ctx.moveTo(0,100); ctx.lineTo(400, 100); ctx.stroke();

JsFIDDLE