Foros del Web » Programando para Internet » PHP »

mostrar imagen dependiente de su tamaño

Estas en el tema de mostrar imagen dependiente de su tamaño en el foro de PHP en Foros del Web. Hola a todos, tengo en mi servidor muchas imagenes cargadas de diferentes tamaños, y en mi index muestro dichas imagenes a un tamaño que yo ...
  #1 (permalink)  
Antiguo 01/11/2012, 06:36
Avatar de BiPlanet  
Fecha de Ingreso: mayo-2007
Mensajes: 61
Antigüedad: 16 años, 11 meses
Puntos: 0
Pregunta mostrar imagen dependiente de su tamaño

Hola a todos, tengo en mi servidor muchas imagenes cargadas de diferentes tamaños, y en mi index muestro dichas imagenes a un tamaño que yo le determine, pero logicamente todas las imagenes no tienen el mismo tamaño por lo que se deforman, especificamente lo que necesito es mostrar una parte de la imagen, osea cropearla, a un tamaño por ejemplo de 300 px de ancho por 100 px de alto, para que quede mas claro, si tengo una imagen de 400 px de ancho por 100 px de alto, que el script muestre la imagen a los 300 px de ancho y no todo el ancho para que no se deforme, me explico?
Les pongo de ejemplo esta pagina, lavoz.com.ar
fijense que en su index, en las tres portadas que tienen, muestran una parte de la imagen para que no se deforme, la original se aprecia con su verdadero tamaño cuando abrimos el enlace, como logro eso?
  #2 (permalink)  
Antiguo 01/11/2012, 07:05
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: mostrar imagen dependiente de su tamaño

para ello se debe generar el thumbnail al subir los archivos, depende de como se haga el mismo para resolver la relación de aspecto (simple matemática de regla del 3), o cortar una parte determinada.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 01/11/2012, 07:16
Avatar de BiPlanet  
Fecha de Ingreso: mayo-2007
Mensajes: 61
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: mostrar imagen dependiente de su tamaño

pero existe alguna forma con css para mostrarla?, porque subirlas ya las subi a las imagenes, solo necesito mostrarlas en esa forma...
  #4 (permalink)  
Antiguo 01/11/2012, 07:23
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: mostrar imagen dependiente de su tamaño

width, height?

de todos modos tambien se pueden crear thumbnails de imagenes en el servidor
  #5 (permalink)  
Antiguo 01/11/2012, 07:30
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: mostrar imagen dependiente de su tamaño

Quizá usando un div (con la imagen dentro) con las medidas de base 300px y altura 100px y jugar con la propiedad css overflow, ¿no?
  #6 (permalink)  
Antiguo 01/11/2012, 07:35
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: mostrar imagen dependiente de su tamaño

por que hablamos de css en php?

lo mejor para adaptar una imagen a su contenedor es

max-width:100%
height:auto

así la "miniatura" depende de su padre.
  #7 (permalink)  
Antiguo 01/11/2012, 07:40
Avatar de BiPlanet  
Fecha de Ingreso: mayo-2007
Mensajes: 61
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: mostrar imagen dependiente de su tamaño

Cita:
Iniciado por memoadian Ver Mensaje
por que hablamos de css en php?

lo mejor para adaptar una imagen a su contenedor es

max-width:100%
height:auto

así la "miniatura" depende de su padre.

Pense en eso, pero supongamos:
Yo necesito que la imagen se muestre en un cuadro de 300px de ancho por 100px de alto, la imagen a mostrar es de 400px de ancho por 100px de alto.
Esto haría que la imagen se reduzca a un ancho de 300px pero tambien su alto bajara porcentualmente a menos de 100px, entonces el cuadro no quedara lleno, me explico?
En todo caso tendria que quedar con la altura de 100px y cortar o no mostrar los 100 px que le sobran al ancho...
se entiende lo que necesito?
  #8 (permalink)  
Antiguo 01/11/2012, 08:45
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: mostrar imagen dependiente de su tamaño

claro claro lo que tu digas jefe, pero eso no lo puedes hacer solo con css, usa un script en php que haga crop a las imágenes.
  #9 (permalink)  
Antiguo 01/11/2012, 08:55
Avatar de BiPlanet  
Fecha de Ingreso: mayo-2007
Mensajes: 61
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: mostrar imagen dependiente de su tamaño

Cita:
Iniciado por memoadian Ver Mensaje
claro claro lo que tu digas jefe, pero eso no lo puedes hacer solo con css, usa un script en php que haga crop a las imágenes.
muchas gracias por contestar, investigare para ver que puedo hacer y posteare novedades...
  #10 (permalink)  
Antiguo 09/11/2012, 08:11
Avatar de BiPlanet  
Fecha de Ingreso: mayo-2007
Mensajes: 61
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: mostrar imagen dependiente de su tamaño

Hola de vuelta, encontré la solución a mi problema:


En el html:

<?php
list($width, $height, $type, $attr) = getimagesize("http://mipagina.com/imagenes/".$rowsi["codigoarchivo"]);
if($height<220)
{
?>
<p class="crop"><img src="http://mipagina.com/imagenes/<?php echo $rowsi["codigoarchivo"]; ?>" height="220px"></p>
<?php
}
else
{
?>
<p class="crop"><img src="http://mipagina.com/imagenes/<?php echo $rowsi["codigoarchivo"]; ?>" width="450px"></p>
<?php
}
?>




En la hoja de estilo:

.crop{
float:left;
overflow:hidden; /* IMPORTANTE */
width:445px;
height:220px;
}



Basicamente lo que hace el script es, yo necesito encajar todas las imagenes que cargar los editores de una web en un cuadro 445px de ancho por 220px de alto y para que no se deforme la imagen, acomodo la misma en base a su tamaño y corto lo que sobra.
Gracias.-

Etiquetas: dependiente, imagenes, tamañ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 23:36.