Foros del Web » Programando para Internet » Javascript »

Resize Image

Estas en el tema de Resize Image en el foro de Javascript en Foros del Web. Hola, necesito que alquien me ayude a vizualizar una imagen (reducida) y proporcionada, pongo entre parentesis reducida porque en caso de que la imagen sea ...
  #1 (permalink)  
Antiguo 05/02/2004, 05:56
Avatar de martinArgentino  
Fecha de Ingreso: diciembre-2002
Mensajes: 157
Antigüedad: 21 años, 4 meses
Puntos: 1
Resize Image

Hola, necesito que alquien me ayude a vizualizar una imagen (reducida) y proporcionada, pongo entre parentesis reducida porque en caso de que la imagen sea menor que el marco en donde se muestra, ella debe tomar su tamaño original.

Bueno, mediante esta rutina he logrado que ello se haga, pero no se porque extraña razón no funciona con imagenes que no han sido previamente cargadas en el browser, va en realidad lo que se es que cuando creo la imagen (new image) si esta no ha sido previamente visualizada en el browser, sus propiedades 'Width' y 'Height' son igual a cero, y por eso la imagen 'NO SE MUESTRA' o mejor dicho se muestra con alto y ancho igual a cero.

//Aqui va el html y el script

<html>
<head>

<script>
function resizeImage()
{
alert();
photo=document.form1.file1.value;
hm=100; //alto del marco donde se muestra
wm=100;// ancho
I=new Image();
I.src=photo;
document.marco.src=I.src;
hp=I.height; //altura de la foto
wp=I.width;//ancho de la foto
hcm=1/hm; //coeficiente de la altura del marco
wcm=1/wm;//coeficiente del ancho del marco
hcp=hp*hcm; //coeficiente de la altura de la foto, si es mayor a 1 entonces la foto tiene una altura mayor al marco
wcp=wp*wcm; //coeficiente del ancho de la foto, si es mayor a 1 entonces la foto tiene un ancho mayor al marco
//elijo cual de los coeficientes se aplica
if (hcp>wcp) cp=hcp;
else cp=wcp;
// si el coeficiente es mayor a 1 se reduce la imagen
if (cp>1){
hp=hp/cp;
wp=wp/cp;
}
document.marco.height=hp;
document.marco.width=wp;
}

</script>

<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="">
<input type="file" name="file1" id="file1"">
<input type="button" name="Button" value="Button" onclick="resizeImage();">
<img name="marco" id="marco" >
</form>
</body>
</html>


Espero haber sido claro, desde ya muchas gracias
__________________
Martin
  #2 (permalink)  
Antiguo 05/02/2004, 11:45
 
Fecha de Ingreso: noviembre-2003
Mensajes: 30
Antigüedad: 20 años, 5 meses
Puntos: 0
Lo q a mi me parece es que estas pidiendo el tamaño de la imagen antes de q esta se haya cargado.
  #3 (permalink)  
Antiguo 05/02/2004, 13:15
Avatar de martinArgentino  
Fecha de Ingreso: diciembre-2002
Mensajes: 157
Antigüedad: 21 años, 4 meses
Puntos: 1
y como hago para saber si esta cargada o no
__________________
Martin
  #4 (permalink)  
Antiguo 06/02/2004, 09:37
Avatar de sindestino  
Fecha de Ingreso: noviembre-2003
Ubicación: xxxx xxxx
Mensajes: 270
Antigüedad: 20 años, 5 meses
Puntos: 0
hasta donde yo se, la única forma de saber el tamaño de una imagen seleccionada con un <input type="file"> es metiendola en in <IMG>, ahí si se puede saber su tamaño en bytes y las dimensiones, una vez ahí podés redimensionarla a tu gusto pero no antes
Otra cosa es usar ActiveX pero eso va a disparar alertas y cosas.

Saludos
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 02:15.