Foros del Web » Programando para Internet » Javascript »

Dibujar en un canvas rotado (Transform rotate)

Estas en el tema de Dibujar en un canvas rotado (Transform rotate) en el foro de Javascript en Foros del Web. Hola a todos. Tengo un canvas dentro de un div y realizo dibujos dentro de ese canvas por medio del ratón. Hasta aquí todo perfecto. ...
  #1 (permalink)  
Antiguo 19/06/2016, 00:45
 
Fecha de Ingreso: mayo-2008
Mensajes: 21
Antigüedad: 16 años
Puntos: 0
Dibujar en un canvas rotado (Transform rotate)

Hola a todos.

Tengo un canvas dentro de un div y realizo dibujos dentro de ese canvas por medio del ratón. Hasta aquí todo perfecto.

Primero calculo el origen del canvas:

origen_x = coordenada_raton_x - origen_div_x;
origen_y = coordenada_raton_y - origen_div_y;

Para el trazado de los dibujos:

x = coordenada_raton_x - origen_div_x;
y = coordenada_raton_y - origen_div_y;

El problema surge cuando giro el div con la matriz transform. El trazo del ratón ya no sigue el ratón sino que va por otro lado.

He intentado seguir las transformación de puntos (entre otras cosas), por ejemplo
nuevox = xcosenoangulo - ysenoangulo
nuevoy = yconsenoanulo + xsenoanuglo

Pero nada, no doy con la transformación para que el puntero del ratón vaya con el trazo

Muchas gracias
  #2 (permalink)  
Antiguo 19/06/2016, 07:14
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Dibujar en un canvas rotado (Transform rotate)

Sin ver más de tu código, es difícil ayudarte. Pero podemos ensayar elsiguiente pseudocódigo:
Código:
//antes de rotar
context.save();
aquí rotamos
//inmediatamente después de rotar:
context.restore();
  #3 (permalink)  
Antiguo 20/06/2016, 14:46
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Dibujar en un canvas rotado (Transform rotate)

¿Te acordaste de que las operaciones trigonométricas en javascript van en radianes?
https://jsfiddle.net/marlanga/c6p4qbq5/

Etiquetas: canvas, dibujar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:47.