Ver Mensaje Individual
  #6 (permalink)  
Antiguo 11/11/2012, 13:04
Avatar de hackjose
hackjose
 
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 8 meses
Puntos: 131
Respuesta: Lienzo dinámico con processing

Eso es lo que no me gusta de canvas, que hay que redibujar todo.

La solucion que encuentro es esta

usa la propiedad availwidth y availheight del objeto screen para conocer el tamaño disponible para el navegador y dependiendo de esto dibujas el canvas.

Tambien puedes usar el evento onresize para detectar cuando el usuario cambia el tamaño de la pagina hasta aqui hemos detectado el cambio de tamaño, para saber el tamaño puedes usar las propiedades innerWidth e innerHeight del objeto window y dependiendo de estas redibujas el canvas, por ejemplo

if(window.onresize)
{
width = window.innerWidth;
height = window.innerHeight;
ctx = document.getElementById("canvas").getContext('2d') ;
ctx.clearRect(ctx.width,ctx.height);
ctx.width = nuevo tamaño;
ctx.height = nuevo tamaño;
ctx.redibujar
}

Es algo largo pero creo que lo soluciona

La otra opcion que veo mas fiable es usar SVG

Saludos