Foros del Web » Programando para Internet » Javascript »

redimensionar imagen

Estas en el tema de redimensionar imagen en el foro de Javascript en Foros del Web. Hola! No tengo mucha idea de javascript y quería pedir si me pueden hechar una mano con una cosa que quiero hacer. Lo que quiero ...
  #1 (permalink)  
Antiguo 27/10/2011, 19:11
boli-sp
Invitado
 
Mensajes: n/a
Puntos:
redimensionar imagen

Hola!
No tengo mucha idea de javascript y quería pedir si me pueden hechar una mano con una cosa que quiero hacer.
Lo que quiero es redimensionar una imagen (id=transparente) que está en un servidor externo a un ancho fijo de 576píxeles y altura variable, que lo calculamos.

Código Javascript:
Ver original
  1. <script language="Javascript">
  2. img = new Image();
  3. img.src = '<? echo $foto; ?>';
  4. var n_altura=img.height*576/img.width;
  5. document.write(n_altura);
  6. </script>

Código Javascript:
Ver original
  1. <script language="Javascript">
  2. function Redimensionar()
  3. {
  4.     document.images.transparente.height=n_altura;
  5.     transparente=document.getElementById("transparente");
  6.     transparente.height=n_altura;
  7. }
  8. window.onload=Redimensionar();
  9. </script>

El problema es que solo me la redimensiona si tengo cargada la imagen en caché, es decir, si vuelvo a actualizar la página si que me lo hace pero si tengo que esperar a que carge (en este caso n_altura devuelve NaN), no lo hace. ¿qué solución hay para esto?

Gracias y disculpen mi ignorancia.

Última edición por boli-sp; 27/10/2011 a las 19:29
  #2 (permalink)  
Antiguo 28/10/2011, 02:08
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Respuesta: redimensionar imagen

Esto con el móvil y no puedo editar el código pero lo ideal sería pasar la URL de la imagen a la función en javascript y que cuando la tenga ya pasarle el width y el height y listo, un return para luego imprimirla donde más te guste.

Saludoz
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #3 (permalink)  
Antiguo 28/10/2011, 03:56
boli-sp
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: redimensionar imagen

He probado a hacer este código sencillo
Código Javascript:
Ver original
  1. <script language="Javascript">
  2. img = new Image();
  3. img.src = 'http://upload.wikimedia.org/wikipedia/commons/thumb/9/96/Ushuaia_paisaje.jpg/250px-Ushuaia_paisaje.jpg'; //foto a modo de ejemplo
  4. document.write(img.height);
  5. </script>

En la parte HTML no especifico el alto porque dependiendo de la imagen que solicitemos va a tener una altura distinta
Código HTML:
Ver original
  1. <img src="la misma url que arriba" width=576" />

Cuando la imagen se carga por primera vez img.height y img.width devuelven 0. Utilizo habitualmente firefox para comprobar los resultados y ocurre que solo devuelve el valor que es cuando vuelvo a cargar la página (la imagen está en caché). He probado ahora en Chrome y, en éste, siempre devuelven 0.

¿Por qué ocurre esto?

Saludos

Última edición por boli-sp; 28/10/2011 a las 06:11
  #4 (permalink)  
Antiguo 29/10/2011, 09:16
boli-sp
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: redimensionar imagen

Solución:

Código HTML:
Ver original
  1. <img src="la misma url que arriba" width=576" onload="Redimensionar();" />

Etiquetas: redimensionar
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 14:49.