Foros del Web » Programando para Internet » Javascript »

Redimensionar imagenes

Estas en el tema de Redimensionar imagenes en el foro de Javascript en Foros del Web. Hola. Tengo un problema con un codigo, basado en uno que creó Tunait, para redimensionar imagenes. El codigo es este: var maxAncho = 100; //define ...
  #1 (permalink)  
Antiguo 23/03/2006, 02:20
 
Fecha de Ingreso: mayo-2004
Ubicación: El mundo
Mensajes: 63
Antigüedad: 19 años, 11 meses
Puntos: 0
Redimensionar imagenes

Hola.
Tengo un problema con un codigo, basado en uno que creó Tunait, para redimensionar imagenes.
El codigo es este:

var maxAncho = 100; //define la anchura máxima de la imagen
var maxAlto = 75; //define la altura máxima de la imagen
function minifoto(ancho,alto,nombre)
{
if (ancho >= alto) {forma = 'apaisada'}
if (ancho < alto) {forma = 'retrato'}
if(forma == 'apaisada')
{
if(ancho > maxAncho)
{
porcientoAnchura = parseInt(maxAncho/ancho*100);
eval("document."+nombre+".width = maxAncho");
eval("document."+nombre+".height = porcientoAnchura*alto/100");
}
}
else if (forma == 'retrato')
{
if (alto > maxAlto)
{
porcientoAltura = maxAlto/alto*100;
eval("document."+nombre+".height = maxAlto");
eval("document."+nombre+".width = porcientoAltura*ancho/100");
}
}
}

El llamado a la función lo hago asi:

<img src="imatges/Salines 1B.jpg" name="img0" id="img0" onLoad="minifoto(this.width,this.height,this.id)" align="left">

El problema es que la 1º vez que se carga la pagina funciona correctamente. Pero si me muevo a otra pagina del sitio y vuelvo ya no trabaja como debe. Algunas de las imagenes a las que se lo quiero aplicar ya no cambian de tamaño.

El problema se puede ver en http://www.menorcasom.org
Está aplicado al Inicio. Pero si va a otro apartadoal volver a Inicio aparece el problema.

Se agradece la ayuda.
  #2 (permalink)  
Antiguo 23/03/2006, 12:01
 
Fecha de Ingreso: mayo-2004
Ubicación: El mundo
Mensajes: 63
Antigüedad: 19 años, 11 meses
Puntos: 0
¿Nadie se anima?
  #3 (permalink)  
Antiguo 23/03/2006, 15:48
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Y ya que usás PHP porqué no basás la redimensión en php?.
La función getimagesize no necesita que esté instalada la librería gd para funcionar. Si tenés, GD, lo mejor sería redimensionar con gd, que aparte de reducirte tamaño te reducirá en peso. Es decir, GD sería lo ideal, pero si no disponés de gd, podrías hacer algo así:
Código PHP:
<?php
$foto
='algo.jpg';
$ancho_max=200;
$datos=getimagesize($foto);
if(
$datos[0]<$ancho_max){$ancho_max=intval($datos[0]);}
$ratio = ($datos[0] / $ancho_max); 
$altura intval(($datos[1] / $ratio));?>
?>
<img src="<?=$foto?>" width="<?=$ancho_max?>" height="<?=$altura?>">
  #4 (permalink)  
Antiguo 23/03/2006, 16:03
 
Fecha de Ingreso: mayo-2004
Ubicación: El mundo
Mensajes: 63
Antigüedad: 19 años, 11 meses
Puntos: 0
Buena propuesta. Lo tendré muy en cuenta. Muchas gracias.
  #5 (permalink)  
Antiguo 02/04/2006, 16:56
 
Fecha de Ingreso: mayo-2004
Ubicación: El mundo
Mensajes: 63
Antigüedad: 19 años, 11 meses
Puntos: 0
Por si alguien mira la pagina donde aparecía el problema, lo solucioné con la sugerencia de Panino. De todas maneras el problema no se pudo arreglar con javascript. Asi que si alguien tiene una solución con esta herramienta sería muy interesante que la diera a conocer.
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 22:51.