JavaScript - Escribir el tamaño y las dimensiones de una imagen

 
Vista:

Escribir el tamaño y las dimensiones de una imagen

Publicado por raul (11 intervenciones) el 05/07/2005 20:28:44
Buenas tengo el siguiente codigo:

Aqui llamo a la funcion:

<input name='verimagen' type='button' onClick=verfotomenu('ruta','Fotografía'); value='Ver Foto'>

La funcion es la siguiente:
El problema q tengo es q cuando imprimo this.width, this.height me aparece "undefined" y en this.length me aparece 0 (creo q sea para saber el tamaño q ocupa el archivo).

function verfotomenu(nombre,titulo)
{
ventana=window.open('','ventana','toolbar=no,location=no,scrollbars=no,resizable=no')
ventana.document.write('<html><head><title>' + titulo + '</title></head><body bgcolor="#FFFFFF" scroll="no"><table width="220" border="0" cellspacing="0" cellpadding="0"><tr><td height="10"></td></tr><tr><td><table width="220" border="0" cellspacing="0" cellpadding="0"><tr><td width="10"></td><td><table width="200" border="0" cellspacing="0" cellpadding="0"><tr><td height="150"><img src="' + nombre + '" onLoad="opener.redimensionar(this.width,this.height)"></td></tr><tr><td height="20">Tamaño:', this.length ,'</td></tr><tr><td height="20">Dimensiones:', this.width ,' x ', this.height,'</td></tr></table></td><td width="10"></td></tr></table></td></tr><tr><td height="10"></td></tr></table>')
ventana.document.close()
}

Gracias por vuestra ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Escribir el tamaño y las dimensiones de una ima

Publicado por Mike79 (49 intervenciones) el 05/07/2005 23:09:28
Cuando haces referencia a This, te refieres al elemento donde estas. Si en onLoad utilizas this, todo esta bien, ahi es valido decir this.width y te debe de funcionar. Pero en el resto del html, cuando haces referencia a this.width, ya no estas haciendo referencia a la imagen, estas haciendo referencia a la funcion verfotomenu.

Por cierto, el elemento imagen no tiene la propiedad length, si te arroja 0 es por que no estas haciendo referencia a la imagen, estas haciendo referencia a otro objeto.

Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Escribir el tamaño y las dimensiones de una ima

Publicado por raul (11 intervenciones) el 05/07/2005 23:34:35
¿Entonces como puedo hacer referencia a la imagen para poder ver sus dimensiones y su tamaño?

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Escribir el tamaño y las dimensiones de una ima

Publicado por Mike79 (49 intervenciones) el 06/07/2005 00:26:02
¿Como te lo digo de forma bonita?
La forma en que lo estas haciendo esta mal, tendrias que hacer que la función redimensionar, cambie el texto en la página despues de que la imagen cargo, ya sea que pongas unos input type="text" para ahi poner el texto, o bien, crea un div, un parrafo, o algo asi, y cambiale el contenido.

Mira, yo no voy hacer tú codigo por tí. Pero te puedo enseñar un ejemplo que hize rrapidamente, tu tienes que hacer algo parecido, pero claro usando varias páginas:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Prueba con Imagen</title>
<script>
function Info(e) {
// Forma sencilla
  document.frm.Ancho.value=e.width+"\n";
  document.frm.Alto.value=e.height+"\n";
// Alterando el HTML
  var alto = document.getElementById('Alto');
  alto.innerHTML=e.width+" x "+e.height;
}
</script>
</head>
<body>
<form name="frm">
<img src="http://www.mike79.org/Logo3d3.jpg"
onLoad="Info(this);"><br>
Ancho: <input type="text" name="Ancho" value="0"><br>
Alto: <input type="text" name="Alto" value="0"><br>
Tama&ntilde;o: <span id="Alto">0</span>
</form>
</body>
</html>

Saludos!
-
Miguel Angel
Mike79

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar