Foros del Web » Programando para Internet » Javascript »

Redimensaionar imágenes con JAvascript

Estas en el tema de Redimensaionar imágenes con JAvascript en el foro de Javascript en Foros del Web. Hola a tod@s, He intentado hacer un procesillo en Javascript pero no tengo mucha idea de este lenguaje de programación por eso recurro a este ...
  #1 (permalink)  
Antiguo 01/07/2009, 07:39
 
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 72
Antigüedad: 16 años, 4 meses
Puntos: 1
Redimensaionar imágenes con JAvascript

Hola a tod@s,

He intentado hacer un procesillo en Javascript pero no tengo mucha idea de este lenguaje de programación por eso recurro a este foro en busca de ayuda.

Esto mostrando un listado de artículo en una tabla, en cada fila de la tabla se muestra en una celda la imágen del producto. Estas imágenes están en una base de datos y el problema que me encuentro es que todas tienen un tamaño distinto.

Lo que quiero hacer mediante javascript es mirar saber el ancho de la imágen y si esa imágen es mayor a 100px mostrar la imagen de 100px y si es menor pues el tamaño original de la imagen.

He puesto este código en la Web pero no me funciona:

<img src="imagen.jpg" onError="this.src='paginas/images/paginas_ext/imagen-no-disponible.gif'" id="imagen01"
<script type="text/javascript" language="javascript">
<!--
if(document.getElementById('imagen01').width>100)
{
document.write("width=100");
}
else
{
document.write("width=50");
}
-->
</script> />

Os agradezco la ayuda!
  #2 (permalink)  
Antiguo 01/07/2009, 15:34
 
Fecha de Ingreso: julio-2009
Mensajes: 81
Antigüedad: 14 años, 10 meses
Puntos: 6
Respuesta: Redimensaionar imágenes con JAvascript

Mi primera respuesta!


reescribí un poco tu codigo:

Código:
<img src="imagen.jpg" id="imagen01"


<script type="text/javascript" language="javascript">

var image=document.getElementById('imagen01');
if(image.width>100)
{
image.width=100;
}

</script> 


/>
lo que haces con
document.write("width=100");
es... escribir en la pagina????
y si no es de este tamaño (si es menor a 100) piensas dejarlo siempre en 50? o su tamaño por defecto (si es 60... 60, si es 40 dejarlo en 40).

con mi respuesta simplemente tomo la imagen (la guardo en una variable), verifico el atributo y si el width es mayor a 100 la redusco....

espero eso sea lo que buscas.
  #3 (permalink)  
Antiguo 01/07/2009, 17:56
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Redimensaionar imágenes con JAvascript

el codigo no funcionara. estas intentando poner la etiqueta SCRIPT dentro de la declaracion de otro elemento. es decir, tu no puedes hacer esto:
Código:
<img <script>...</script> />
<div <script>...</script>> </div>
<input <script>...</script> />
cualquiera de las variantes no son validas. la unica manera de incluir javascript dentro de un elemento es mediante eventos.
Código:
<elemento evento="codigo"></elemento>
en tu caso se me ocurre una de dos, utiliza CSS para que todas las imagenes obtengan el mismo tama~no. esteticamente pienso que es la mejor alternativa aunque cabe mencionar que las imagenes sufriran cierta degradacion.

la otra alternativa es con javascript, parecido a lo que intentabas hacer:
Código:
<img src="http://www.forosdelweb.com/f13/redimensaionar-imagenes-con-javascript-714708/..." onload="if(this.width > 100)this.width = 100;" />
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 07/07/2009, 03:38
 
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 72
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: Redimensaionar imágenes con JAvascript

Muchas gracias por las respuestas, ambas me han servido de mucha ayuda para solucionar el problema que tenía con las redimensiones de imágenes.

Un saludo,

Nacho Fdez. Carreño
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 07:32.