Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/04/2014, 17:10
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 6 meses
Puntos: 977
Respuesta: html5 canvas dibujar dos punto y unirlos con una linea

Claro. Tomas las coordenadas del puntero del mouse por cada vez que el usuario haga un clic, las asignas a dos variables que representarán los puntos X y Y y cuando tengas los otros dos puntos, dibujas la línea. Para esto, te puede apoyar usando una variable como contador, que irá contando los clics, entonces, para los puntos iniciales, el valor del contador debe ser impar, mientras que para los finales, debe ser par. Teniendo las coordenadas iniciales y finales, dibujas la línea.

Código HTML:
Ver original
  1. <img src = "imagen.jpg" />
  2. <canvas width = 400 height = 300></canvas>

Código CSS:
Ver original
  1. img, canvas{
  2.     position: absolute;
  3. }

Código Javascript:
Ver original
  1. var canvas = document.getElementsByTagName("canvas")[0],
  2.     context = canvas.getContext("2d"),
  3.     cont = 0,
  4.     xIni, yIni,
  5.     xFin, yFin;
  6.  
  7. window.addEventListener("click", function(e){
  8.     if (++cont % 2 !== 0){      
  9.         xIni = e.clientX;
  10.         yIni = e.clientY;
  11.     }
  12.     else{
  13.         xFin = e.clientX;
  14.         yFin = e.clientY;
  15.        
  16.         context.moveTo(xIni, yIni);
  17.         context.lineTo(xFin, yFin);
  18.         context.lineWidth = 2;
  19.         context.strokeStyle = "white";
  20.         context.stroke();
  21.     }
  22. }, false);

DEMO

Es importante que tanto a la imagen como al elemento canvas les des una posición absoluta en la hoja de estilos para que las líneas que se vayan dibujando, queden sobre la imagen, además, las medidas del canvas deben corresponder con las de la imagen, por ejemplo, en el demo que adjunto, la imagen es de 400x300 píxeles, por eso le doy esa medida al canvas.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand