Foros del Web » Programando para Internet » Javascript »

Hacer <img> autoajustable

Estas en el tema de Hacer <img> autoajustable en el foro de Javascript en Foros del Web. Hola, No se si el título refleja exactamente lo que me sucede, pero lo explico mejor. Con este script: Código PHP:          < script type = ...
  #1 (permalink)  
Antiguo 04/08/2008, 03:24
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 4 meses
Puntos: 8
Hacer <img> autoajustable

Hola,

No se si el título refleja exactamente lo que me sucede, pero lo explico mejor.
Con este script:

Código PHP:
        <script type="text/javascript">
        
        function 
mostrarImagen(obj)
        {
            
imagen.src obj.value;
            if(
imagen.complete)
            {
                if((
imagen.width>480) || (imagen.height>640))
                {
                    
imagen.width 480;
                    
imagen.height 640;
                }
                else
                {
                    
imagen.width "";
                    
imagen.height "";                    
                }
            }
        }        
        
        
</script> 
Lo que hago es controlar que el tamaño de la imagen que se acaba de cargar en mi <img> no sea mayor de 480x640. De ser así redimensiono el <img> para que sea como máximo eso. Hasta aquí todo ok, pero lo que me sucede es que una vez ya he redimensionado el <img> al tamaño máximo permitido, y la imagen que se carga ahora tiene un tamaño menor que el máximo, el <img> no se redimensiona solo al tamaño de la imagen nueva.

El tag <img> se autoajusta a la imagen cargada si no le especificas sus dimensiones. Pues yo lo que quiero es que vuelva a ser autoajustable siempre que la imagen no exceda del tamaño máximo permitido.

Muchas gracias de antemano.
Saludos!
  #2 (permalink)  
Antiguo 04/08/2008, 04:43
Avatar de aloqui  
Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 4 meses
Puntos: 24
Respuesta: Hacer <img> autoajustable

Si no encuentras nada mejor puedes hacer lo siguiente:
Tener dos objetos img con la misma imagen, uno autoajustable (es decir sin dimensiones explicitas) y otro con tus dimensiones máximas( 640x480).
Inicialmente ambos estarían ocultos, y luego pondrías visible solo la imagen que te interesase.
__________________
Grupos de Música
Pop Music Stars
  #3 (permalink)  
Antiguo 04/08/2008, 04:59
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 4 meses
Puntos: 8
Respuesta: Hacer <img> autoajustable

Hola,
Gracias por responder. Eso ya lo he pensado pero me ha parecido un poco feo. Pero a las malas creo que es lo que voy a hacer. A ver si a alguien se le ocurre alguna de crack.

Saludos!
  #4 (permalink)  
Antiguo 04/08/2008, 08:16
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Respuesta: Hacer <img> autoajustable

solo tenes que mandar el Id de la imagen y te carga la imagen y te la achica proporcionalmente al ancho maximo que quieras...

Código PHP:
<script type="text/javascript"

function 
tamanopred(img){
    var 
wp "700"// ancho predeterminado
    
var wo document.getElementById(img).width;
    var 
ho document.getElementById(img).height;
        
        
// cambia los tamanos
        
var wres wp*ho/wo;
        var 
hres wp*ho/wo;
        
document.getElementById(img).width=wp;
        
document.getElementById(img).height=hres;

}
</script> 
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #5 (permalink)  
Antiguo 04/08/2008, 11:23
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 4 meses
Puntos: 8
Respuesta: Hacer <img> autoajustable

Hola,

Tu script está muy bien pensado, pero no me refería a eso. El tag <img> por defecto se ajusta a las medidas de la imagen que le cargas y si en algún momento yo le digo que medidas quiero se queda con esas medidas y ya no recupera el ser autoajustable. Eso es lo que quiero. Pongo un ejemplo a ver si así queda más claro:

El tamaño máximo que quiero que tenga es de 480x640 px.

Inicialmente está sin medidas, así que si le cargo una imagen que sea igual o menos que esas dos lo dejo que se autoajuste, pero mediante un script le digo que si la imagen cargada supera esas medidas se ajuste al maximo (480x640 px).

Pues bien, si posteriormente le vuelvo a cargar una imagen que sea de un tamaño menor que el máximo, quiero que el <img> se vuelva a autoajustar a las medidas de la imagen.

No se si me he explicado bien...
  #6 (permalink)  
Antiguo 28/10/2010, 20:14
 
Fecha de Ingreso: octubre-2010
Mensajes: 22
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Hacer <img> autoajustable

no se amigo, quizas width:auto;

y para las imagenes automatizadas en redimencion, pos un script
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 19:21.