calcular las dimansiones de una imagen

jan
04 de Septiembre del 2004
Alguien sabe como calcular el alto y el ancho de una imagen que seleccionemos?
Tiene algo que ver el "request"?

jesuja
04 de Septiembre del 2004
Yo he dado con una solución que combina ASP y JavaScript que requiere 2 pasos:

1º.- Subes la imagen al servidor, la guardas y la muestras en pantalla comprobando su tamaño (esto último con código JavaScript):

<%
‘ Código ASP necesario para guardar la imagen en el servidor.
‘ (en otras aportaciones de este mismo foro tienes como hacerlo)

‘ Al final la ruta de la imagen debe quedar en la variable ‘NomFile’
‘ que se utiliza más abajo

%>
<html>
<head>
<script>
function ChequearImagen()
{
var x=document.images["imagen"].width; // Ancho de la imagen
var y=document.images["imagen"].height; // Alto de la imagen

if(x>120 || y>120)
document.f.Opcion.value="IMAGEN_MUY_GRANDE";
else
document.f.Opcion.value="IMAGEN_OK";

document.f.submit();

}
</script>
</head>
<body onload="ChequearImagen()">
<table width="100%" height="100%"><tr valign="middle"><td align="center">
<table border="1" cellspacing="0" cellpadding="0"><tr><td>
<img src="../img/profiles/<%=NomFile%>" name="imagen">
</td></tr></table>
</td></tr></table>
</body>
<form name="f" method="post" action="paso2.asp">
<input type="hidden" name="NomFile" value="<%=NomFile%>">
<input type="hidden" name="Opcion">
</form>
</html>

El código anterior muestra la imagen, comprueba sus dimensiones, para este caso, se considera que la imagen válida debe ser de dimensión no superior a 120x120 pixels, esto se comprueba en la función JavaScript ‘ChequearImagen()’, puedes cambiar ese código según te interese.

Tras la comprobación se hace ‘submit()’ del formulario ‘f’ que aparece al final enviando los parámetros ‘NomFile’ y ‘Opcion’ a la página ‘paso2.asp’ (si te resultara de utilidad puedes enviar también el ancho y el alto de la imagen añadiendo dos campos más al formulario y modificando la función ‘ChequearImagen()’).

2º.- El código del fichero ‘paso2.asp’ podría ser el siguiente:

<%
NomFile=Request.form("NomFile")
OPCION=Request.form("Opcion")

if OPCION="IMAGEN_MUY_GRANDE" then
‘ Código ASP para este caso…
‘ (Yo aquí borro la imagen del servidor, ya que tan grande no la quiero …)

elseif OPCION="IMAGEN_OK" then
‘ Código ASP para este caso
‘ (Aquí yo guardo la ruta ‘NomFile’ en una base de datos…)

end if
%>

Así he resuelto yo este problema, si alguien encuentra una solución menos complicada que lo diga.