Foros del Web » Programando para Internet » Javascript »

cambiar tamaño de imagen

Estas en el tema de cambiar tamaño de imagen en el foro de Javascript en Foros del Web. Hola... en mi página tengo varias imagenes las cuales tiene un ancho predeterminado. Cuando el usuario da click sobre la imagen abro una nueva ventana ...
  #1 (permalink)  
Antiguo 16/03/2005, 07:43
 
Fecha de Ingreso: mayo-2004
Mensajes: 159
Antigüedad: 20 años, 5 meses
Puntos: 0
cambiar tamaño de imagen

Hola...

en mi página tengo varias imagenes las cuales tiene un ancho predeterminado. Cuando el usuario da click sobre la imagen abro una nueva ventana solo con la imagen en su tamaño original.

El problema es que tendré imagenes con tamaños originales muy grandes mayores que el tamaño de la pantalla. Y necesito que todas las imagenes mayores que 900 sean llevada a ese ancho.

Para lo primero utilizo dos funciones muy sencillas. Pero cómo puedo reducir el tamaño de la imagen original en el popup para que nunca sea mayor que 900????

Código:
var ventana
var cont=0
function afoto(cual,titulo) 
{ 
if(cont==1){ventana.close();ventana=null} 
ventana=window.open('','ventana','resizable=yes,scrollbars=no') 
ventana.document.write('<html><head><title>' + titulo + '</title></head><body style="overflow:hidden" marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" scroll="no" onUnload="opener.cont=0"><img src="' + cual + '" onLoad="opener.redimensionar(this.width, this.height)">') 
ventana.document.close() 
cont++ 
} 
function redimensionar(ancho,alto) 
{ 
ventana.resizeTo(ancho+12,alto+28) 
ventana.moveTo((screen.width-ancho)/2,(screen.height-alto)/2) //centra la ventana. Eliminar si no se quiere centrar el popup 
}
  #2 (permalink)  
Antiguo 16/03/2005, 09:49
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Hola guntin_java

Echa un vistazo a la FAQ-110:

http://www.forosdelweb.com/showthrea...366#post325366

Saludos,
  #3 (permalink)  
Antiguo 16/03/2005, 13:17
 
Fecha de Ingreso: mayo-2004
Mensajes: 159
Antigüedad: 20 años, 5 meses
Puntos: 0
gracias amigo mio....

pero como obtengo el tamaño real de la imagen????
  #4 (permalink)  
Antiguo 16/03/2005, 17:04
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 9 meses
Puntos: 9
x=new Image()
x.src="imagen.gif"
alert(x.width+' '+x.height)
  #5 (permalink)  
Antiguo 18/03/2005, 07:32
 
Fecha de Ingreso: mayo-2004
Mensajes: 159
Antigüedad: 20 años, 5 meses
Puntos: 0
gracias a todos...he mezclado un poquito de cada uno. pero tengo el siguiente inconveniente: la primera vez que doy click sobre la imagen se abre un popup vacio (en blanco), después de la segunda vez todo está ok.

el código mezclado es:
Código:
function afoto(cual,titulo) 
{ 
x=new Image()
x.src=cual;
//alert(x.width+' '+x.height)
if(x.width>900){mywidth = 900;}
else{mywidth=x.width}

if(cont==1){ventana.close();ventana=null} 
ventana=window.open('','ventana','resizable=yes,scrollbars=no') 
ventana.document.write('<html><head><title>' + titulo + '</title></head><body style="overflow:hidden" marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" scroll="no" onUnload="opener.cont=0"><img width="'+mywidth+'" src="' + cual + '" onLoad="opener.redimensionar(this.width, this.height)">') 
ventana.document.close() 
cont++ 
} 
function redimensionar(ancho,alto) 
{ 
ventana.resizeTo(ancho+12,alto+28) 
ventana.moveTo((screen.width-ancho)/2,(screen.height-alto)/2) //centra la ventana. Eliminar si no se quiere centrar el popup 
}
  #6 (permalink)  
Antiguo 18/03/2005, 14:54
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 9 meses
Puntos: 9
.

Bueno ,si no veo el codigo con el que llamas a la imagen no puedo ver exactamente donde esta el problema ,pero suponiendo que hagas la llamada a la funcion correctamente ,es decir:

<img
src="imagen.gif" onclick="afoto(this.src,'titulo')">

El problema está en que la variable 'cont' tienes que definirla antes de manipularla en:

if(cont==1){ventana.close();ventana=null}

La puedes definir al principio del script:

<script>
cont=0
function afoto(cual.....
...

Espero que esto solucione el asunto. 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 18:30.