Foros del Web » Programando para Internet » Javascript »

ajustar el ancho y alto de una imagen

Estas en el tema de ajustar el ancho y alto de una imagen en el foro de Javascript en Foros del Web. Necestito ajustar el ancho y alto de una imagen, antes de que carge el documento, es decir que la imagen se carge con las medidas ...
  #1 (permalink)  
Antiguo 20/08/2018, 11:03
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
ajustar el ancho y alto de una imagen

Necestito ajustar el ancho y alto de una imagen, antes de que carge el documento, es decir que la imagen se carge con las medidas correctas.

Código HTML:
Ver original
  1. <img src='miImagen.jpg'>
  2. </body>
  3. </html>

esto es un ejemplo simple, lo que no quiero es hacerlo después del load, es posible cambiarlo sin esperar que cargue el documento.
saludos
  #2 (permalink)  
Antiguo 20/08/2018, 14:58
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años
Puntos: 120
Respuesta: ajustar el ancho y alto de una imagen

para tu cometido, necesitas usar JAVASCRIPT, o usar medidas por Porcentaje
  #3 (permalink)  
Antiguo 20/08/2018, 16:47
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: ajustar el ancho y alto de una imagen

Cita:
Iniciado por tuadmin Ver Mensaje
para tu cometido, necesitas usar JAVASCRIPT, o usar medidas por Porcentaje
quiero hacerlo con javascript, sin porcentajes, el problema es que quiero darle el ancho y alto a la imagen antes de que cargue el documento.

como se podría hacer, me pueden poner un ejemplo, gracias.
  #4 (permalink)  
Antiguo 20/08/2018, 17:33
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 2 meses
Puntos: 1146
Respuesta: ajustar el ancho y alto de una imagen

Por un lado con javascript no puedes modificar el elemento si aun no termina de cargar el documento, javascript siempre se ejecuta después de cargar el documento y en el caso de las imágenes debe haberse cargado la imagen previamente para poder trabajar sobre ella.

en segundo lugar, debes investigar por tu cuenta y documentarte, evento onload y funciones getElementByID y querySelector

Mucha suerte, regresa y pregunta por tus dudas después de haber creado algo de código que demuestre que estas intentándolo.
  #5 (permalink)  
Antiguo 21/08/2018, 03:20
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: ajustar el ancho y alto de una imagen

Cita:
Iniciado por ArturoGallegos Ver Mensaje
Por un lado con javascript no puedes modificar el elemento si aun no termina de cargar el documento, javascript siempre se ejecuta después de cargar el documento y en el caso de las imágenes debe haberse cargado la imagen previamente para poder trabajar sobre ella.

en segundo lugar, debes investigar por tu cuenta y documentarte, evento onload y funciones getElementByID y querySelector

Mucha suerte, regresa y pregunta por tus dudas después de haber creado algo de código que demuestre que estas intentándolo.
Hola, actualmente lo que estaba usando era el evento onload, pero de esta manera lo que pasa es que carga la imagen y posteriormente se ejecuta el javascript y transforma la imagen como quiero.

El problema es que al cargar la imagen se ve muy grande y hay que hacer scroll hasta que se ejecuta el javascript.

Se entiende mi problema, existe alguna otra manera de poder hacerlo.
  #6 (permalink)  
Antiguo 21/08/2018, 07:13
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ajustar el ancho y alto de una imagen

Cita:
Iniciado por azaz Ver Mensaje
Hola, actualmente lo que estaba usando era el evento onload, pero de esta manera lo que pasa es que carga la imagen y posteriormente se ejecuta el javascript y transforma la imagen como quiero.

El problema es que al cargar la imagen se ve muy grande y hay que hacer scroll hasta que se ejecuta el javascript.

Se entiende mi problema, existe alguna otra manera de poder hacerlo.
Por esa descripción, parece que la imagen se tardara mucho en cargar. Y lo digo porque mencionas que se llega a tener el tiempo necesario como para desplazarse hacia abajo hasta que haya terminado de cargar y se ejecuta el script. Si fuera así, lo idea es que reduzcas el peso de los archivos de imagen que usas. Por otro lado, también te vendría bien trabajar con CSS ya que esto es más un tema de diseño que, si bien se puede llevar con JavaScript, con CSS puede llegar a ser más eficiente.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 21/08/2018, 08:46
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 2 meses
Puntos: 1146
Respuesta: ajustar el ancho y alto de una imagen

Con cuerdo con Alexis lo que te falta es optimizar la imagen, según recuerdo y quiero pensar que estas aquí despues de pasar por
http://www.forosdelweb.com/f53/ajust...-body-1162001/

Dado que tu imagen pesa tanto debes empezar a revisarla y considerar, ya que por lo general una imagen no pasa de los 350 kb
1.- que dimensiones tiene? para la web una imagen de 1920x1920 creo que seria el máximo aprovechable, mas grande realmente en el monitor no verías diferencia, aun son poco comunes los monitores que te dan una mayor resolución.
2.- formato del archivo, recuerda usar el formato correcto, he visto quienes usan png a diestra y siniestra cuando un jpg es mas optimo para el caso.
3.- checa los DPI o PPP de tu imagen, con 72 son suficientes para la web.





Dudas, que propósito tiene esta imagen? es una imagen que varia según el escenario o una imagen que siempre sera la misma en todos los escenarios?
  #8 (permalink)  
Antiguo 27/08/2018, 08:48
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: ajustar el ancho y alto de una imagen

Hola, la imagen que se cargan no son pesadas pero el problema es que las medidas cambian y se complica la cosa para poder ajustarla a la pantalla en proporcion, pongo codigo de lo que tengo por si me quereis ayudar.



Código HTML:
Ver original
  1. <meta charset="utf-8">
  2. <title>Documento sin título</title>
  3. body{
  4.     margin:0;
  5. }
  6. img{
  7.     vertical-align:middle;
  8. }
  9. </head>
  10. window.addEventListener('load',sizeImage,false);
  11. function sizeImage(src){
  12.     var ancho_pantalla=window.innerWidth,
  13.              alto_pantalla=window.innerHeight,
  14.          img=document.getElementById("imagen");
  15.         if(ancho_pantalla<alto_pantalla){
  16.             img.setAttribute('width',ancho_pantalla);
  17.             img.setAttribute('height','auto');
  18.         }else{
  19.             img.setAttribute('width','auto');
  20.             img.setAttribute('height',alto_pantalla);  
  21.         }
  22.                 img.img.setAttribute('src',src);   
  23. }
  24. <img id='imagen'>
  25. </body>
  26. </html>


como dije arriba tengo las proporciones de la imagen que tengo que cargar ya que estas imagen tienen diferentes medidas, pero no se como ajustarla a la pantalla sin perder proporcion ni tener que hacer scroll.
  #9 (permalink)  
Antiguo 27/08/2018, 13:14
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ajustar el ancho y alto de una imagen

Si lo que buscas es adaptabilidad, deberías optar por usar media queries.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #10 (permalink)  
Antiguo 27/08/2018, 13:33
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: ajustar el ancho y alto de una imagen

Cita:
Iniciado por Alexis88 Ver Mensaje
Si lo que buscas es adaptabilidad, deberías optar por usar media queries.

quedria hacer algo igual que si abres una imagen con un navegador, que al reducir se adapta al dispositivo, creo que solo con media queries no se puede.

Última edición por azaz; 27/08/2018 a las 14:49
  #11 (permalink)  
Antiguo 27/08/2018, 19:15
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ajustar el ancho y alto de una imagen

Con las media queries puedes adaptar las dimensiones de cualquier elemento según las dimensiones del dispositivo. Y es más eficiente que hacerlo con JavaScript.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #12 (permalink)  
Antiguo 28/08/2018, 00:58
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: ajustar el ancho y alto de una imagen

para simular que se abre la imagen igual que en un navegador, tendría que crear muchas medidas con las medias queries , a eso me refiero. teniendo en cuenta que también la imagen puede tener medidas diferentes.
Saludos
  #13 (permalink)  
Antiguo 28/08/2018, 16:43
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ajustar el ancho y alto de una imagen

Puedes trabajar de acuerdo con márgenes o bien puedes crear reglas para cada mínimo cambio en la resolución, lo cual sería nada práctico dado a que se trata de un caso muy poco frecuente. Lo usual es trabajar con márgenes determinados, de tal modo que la imagen se irá ajustando a las dimensiones especificadas. Usar porcentajes es útil en casos así.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: alto, ancho
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 12:56.