Foros del Web » Programando para Internet » Javascript »

Establecer tamaño de imagen si ...

Estas en el tema de Establecer tamaño de imagen si ... en el foro de Javascript en Foros del Web. Se me ocurre que se puede hacer esto con un javascript pero quizás haya otra solución, tal vez PHP ... no sé ... El asunto ...
  #1 (permalink)  
Antiguo 22/03/2004, 19:19
Avatar de duchamp  
Fecha de Ingreso: enero-2002
Ubicación: Patagonia
Mensajes: 216
Antigüedad: 22 años, 3 meses
Puntos: 1
Establecer tamaño de imagen si ...

Se me ocurre que se puede hacer esto con un javascript pero quizás haya otra solución, tal vez PHP ... no sé ...

El asunto es que tengo un sitio armado con Movable Type, el cual será manejado por niños de 9 años aprox. Es básicamente una galería de dibujos y fotos. A través del sistema ellos suben las imagenes y automáticamente se genera el thumb o imagen pequeña. El problema está en que no todos saben medir una imagen en píxeles y el diseño del sitio tiene unas medidas que respetar, entonces cuando suben una imagen mas grande de lo debido se desarma todo!
Podría cambiar por un diseño líquido pero no es la idea.

Lo que necesito es una condición que en determinado lugar diga:

Si el ancho es menor o igual a 400 no hacer nada pero si el ancho es superior a 400 establecer 400 como medida del ancho (la vertical será proporcional).

Quizás pueda aplicar un script de esta clase a la misma interfaz del sistema y ya generar la imagen adecuada desde el mismo momento en que se subió al servidor ... no sé, alguna idea ...?

Gracias!
__________________
_____________________
Duchamp
  #2 (permalink)  
Antiguo 23/03/2004, 04:11
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Lo ideal es hacerlo desde el lado del servidor, ya que el JS no empieza a actuar hasta que la página ha llegado al ordenador del visitante y se ha cargado la imagen. Entonces la solución en JS permitirá durante un tiempo que la imagen salga descolocada. Si eso no te importa puedes hacer esto:

Código PHP:

<!-- EN EL HEAD ------>
<
script>
function 
redimension(){
for (
a=0;a<document.images.length;a++){
if (
document.images[a].width>400){
document.images[a].width=400
}
}
}
</script>

<!--- ETIQUETA BODY---->

<body onload="redimension()"> 

Espero que te sirva, si prefieres ir a PHP dilo y te traslado la pregunta
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 23/03/2004, 04:40
Avatar de duchamp  
Fecha de Ingreso: enero-2002
Ubicación: Patagonia
Mensajes: 216
Antigüedad: 22 años, 3 meses
Puntos: 1
Gracias Karlankas!
No lo he probado aún, pero así viendolo por arriba me dá la sensación que esta función aplica la regla a TODAS las imagenes del BODY ... es así?
Y mi intención es SOLO aplicarla a una imagen en particular.

Dejo este post aquí, para obtener la solución con javascript y luego posteo otro en PHP, te parece?

Muchas gracias!
__________________
_____________________
Duchamp
  #4 (permalink)  
Antiguo 23/03/2004, 12:24
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Tal vez te pueda servir algo como....

function tamImagen(cual){
if(cual.width > 400){
cual.width = 400
}
}

Y luego a la imagen le pones esto

<img src="blabla.jpg" onload="tamImagen(this)" />

Eso sí, como te envíen una imagen de 2000px va a pesar una barbaridad, independientemente de las dimensiones a las que finalmente se muestren

Dejo un link al otro post que tienes abierto en PHP para que quien tenga interés tenga un acceso rápido a las soluciones propuestas también en php

http://www.forosdelweb.com/showthrea...hreadid=190651

Un saludo
  #5 (permalink)  
Antiguo 23/03/2004, 12:42
Avatar de duchamp  
Fecha de Ingreso: enero-2002
Ubicación: Patagonia
Mensajes: 216
Antigüedad: 22 años, 3 meses
Puntos: 1
Excelente!
Estos Foros valen ORO! ¡Gracias!
Tienes toda la razón del mundo respecto a lo que se muestre y al peso REAL de esa imagen, pero puede ser una solución rápida miéntras busco la forma de hacerlo del lado del servidor.
__________________
_____________________
Duchamp
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:44.