Foros del Web » Programando para Internet » Javascript »

Dimensiones de una imagen.

Estas en el tema de Dimensiones de una imagen. en el foro de Javascript en Foros del Web. Bueno, ante todo un saludo a todos. Este es mi primer post por acá. Perdonenme si esto que pregunto ya fue contestado con anterioridad, pero ...
  #1 (permalink)  
Antiguo 20/01/2005, 11:11
 
Fecha de Ingreso: enero-2005
Mensajes: 30
Antigüedad: 19 años, 3 meses
Puntos: 0
Dimensiones de una imagen.

Bueno, ante todo un saludo a todos. Este es mi primer post por acá. Perdonenme si esto que pregunto ya fue contestado con anterioridad, pero soy nuevito .
Tengo el siguiente código:

<html>
<head><title>probando</title>
<script type="text/javascript">
function dimensionesImagen(){
var xxx=document.getElementById('DATEINAME').value;
var img=document.createElement('img');
img.setAttribute('src',xxx);
document.getElementById('ancho').value = img.width;
document.getElementById('alto').value = img.height;
}
</script>


</head>

<body>
<form method="get">
<INPUT size="30" maxlength="30" type="file" id=DATEINAME name=DATEINAME onchange="dimensionesImagen();">
<input type="hidden" id="ancho" name="ancho"/>
<input type="hidden" id="alto" name="alto" />
<div id="prevImage"></div>
<input type="submit" value="vamos alla"/>
</form>
</body>
</html>

Pues bien. En las pruebas que he realizado, con imagenes de 32x32 funciona perfectamente. El caso, es que al intentarlo con una ímagen de, por ejemplo 800x600, sólo me pasa los valores 0 tanto para el ancho como para el alto.
Qué hago mal?
Espero haberme explicado correctamente y que puedan ayudarme.
Muchas gracias y un saludo a todos.
  #2 (permalink)  
Antiguo 20/01/2005, 14:24
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola AlMutamid, bienvenido a los foros :

Sí, esa pregunta ya la he visto, y la he contestado, pero hay veces que no es fácil encontrar lo que se busca, así que no te preocupes.
Lo que pasa es que las imágenes tardan algo en cargarse, así que es recomendable hacer un bucle consultando el atributo complete de las imágenes, que indica que se han cargado, y es entonces cuando los valores width y height son fiables...

Retocando tu código, podría ser así:

<html>
<head><title>probando</title>
<script type="text/javascript">
var img;
function cargando() {
if (img.complete) {
document.getElementById('ancho').value = img.width;
document.getElementById('alto').value = img.height;
}
else
setTimeout("cargando()", 100);
}

function dimensionesImagen(){
var xxx=document.getElementById('DATEINAME').value;
img=document.createElement('img');
img.src = xxx;
cargando();
}
</script>


</head>

<body>
<form method="get">
<INPUT size="30" maxlength="30" type="file" id=DATEINAME name=DATEINAME onchange="dimensionesImagen();">
<input type="hidden" id="ancho" name="ancho"/>
<input type="hidden" id="alto" name="alto" />
<div id="prevImage"></div>
<input type="submit" value="vamos alla"/>
</form>
</body>
</html>

Lo hice un poco a ojo, pero si no hay errores de sintaxis, debería funcionar.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 21/01/2005, 03:11
 
Fecha de Ingreso: enero-2005
Mensajes: 30
Antigüedad: 19 años, 3 meses
Puntos: 0
Hola, saludos. Muchas gracias . Ya está solucionado el problema para IE. Lo que no entiendo, porque no funciona en Mozilla ??. Incluso he cambiado el método del formulario por post (con get, pues no enviaría el archivo y pensé, a ver si va a ser por esto ...), pero nada. Quizás no me esté cargando la imagen? En img.complete me devuelve true. Llevo un rato dandole vueltas, y no doy con el problema (porque complete, debería funcionar,no?).

Muchas gracias por la ayuda :).
  #4 (permalink)  
Antiguo 21/01/2005, 03:49
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

Para Mozilla creo que tienes que añadir el protocolo "file:///" para que te funcione lo que pretendes.
Fíjate en este link: http://www.pepemolina.com/archivos_bd/index.html

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 21/01/2005, 04:42
 
Fecha de Ingreso: enero-2005
Mensajes: 30
Antigüedad: 19 años, 3 meses
Puntos: 0
Muchas gracias.
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 09:36.