Foros del Web » Programando para Internet » PHP »

Mostrar imagenes al mismo tamaño

Estas en el tema de Mostrar imagenes al mismo tamaño en el foro de PHP en Foros del Web. Hola amigos, busco un consejo o una ayudita, mi problema es el siguiente, voy mostrando imagenes por columnas y paginando, pero claro tengo cientos de ...
  #1 (permalink)  
Antiguo 26/07/2005, 11:48
 
Fecha de Ingreso: junio-2005
Ubicación: Cordoba
Mensajes: 41
Antigüedad: 18 años, 10 meses
Puntos: 0
Mostrar imagenes al mismo tamaño

Hola amigos, busco un consejo o una ayudita, mi problema es el siguiente, voy mostrando imagenes por columnas y paginando, pero claro tengo cientos de fotos algunas mas anchas y otras mas largas, a la hora de mostrar por el navegador las formas q cogen son muy diversas, como podria solucionar eso y q todas salgan al mismo tamaño
ahora mismo tengo puesto <img src=$ruta width=150> pero cada foto toma una forma distinta
  #2 (permalink)  
Antiguo 26/07/2005, 12:50
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 8 meses
Puntos: 0
Este script redimensiona las imágenes a escala (usa la librería gd).

Dónde necesites redimensionar la imagen llama al script así:

<img src="miniatura.php?img=imagen1.jpg">

o así

<img src="miniatura.php?img=imagen.gif&alto=90&ancho=90 ">

Y miniatura.php contiene esto:

Código:
<?php

//Redimensioneitor V. 1.0 by DjNelson

	$extension=strrchr($_REQUEST['img'],".");
	
        if ($extension==".jpg") $imgcache=imagecreatefromjpeg($_REQUEST['img']);
	elseif ($extension==".gif") $imgcache=imagecreatefromgif($_REQUEST['img']);
	else $imgcache=imagecreatefrompng($_REQUEST['img']);
	
	$ancho=imagesx($imgcache);
	$alto=imagesy ($imgcache);

	if ($ancho>100) $nuevo_ancho=$_REQUEST['ancho'];
	else $nuevo_ancho=$ancho;
	
	$nuevo_alto=($nuevo_ancho*$alto)/$ancho;	
	
	if ($nuevo_alto>100) $nuevo_alto=$_REQUEST['alto'];
	
	$nuevo_ancho=($nuevo_alto*$ancho)/$alto;
	

	$imgmini=imagecreatetruecolor($nuevo_ancho,$nuevo_alto);
          imagecopyresampled($imgmini,$imgcache,0,0,0,0,$nuevo_ancho,$nuevo_alto,imagesx($imgcache),imagesy ($imgcache));

        if ($extension==".jpg") imagejpeg($imgmini);
	elseif ($extension==".gif") imagegif($imgmini);
	else imagepng($imgmini);

	imagedestroy ($imgmini);
        imagedestroy ($imgcache);
?>
Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)

Última edición por DjNelson; 26/07/2005 a las 12:56
  #3 (permalink)  
Antiguo 26/07/2005, 13:13
Avatar de erlingfiallos  
Fecha de Ingreso: febrero-2005
Ubicación: Mexico ahora
Mensajes: 499
Antigüedad: 19 años, 2 meses
Puntos: 9
porque al utilizar esta fx me da error en esta linea..?? saben??

$imgmini=imagecreatetruecolor($nuevo_ancho,$nuevo_ alto);
  #4 (permalink)  
Antiguo 26/07/2005, 15:48
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 8 meses
Puntos: 0
Quizás sea por la versión de php que uses, el script funciona correctamente en la versión 5.

Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
  #5 (permalink)  
Antiguo 26/07/2005, 22:28
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Es dificil ADIVINAR el problema si no indicas el error EXACTO que hubo... quizá no tengas instalada la libreria GD.
www.php.net/gd

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 27/07/2005, 03:24
 
Fecha de Ingreso: junio-2005
Ubicación: Cordoba
Mensajes: 41
Antigüedad: 18 años, 10 meses
Puntos: 0
muchas gracias ya tengo algo por donde empezar, pero como instalo la libreria gd y como se q lo tengo instalado, ahora mismo trabajo con el easyphp en windows, pero la idea es pasarlo a un servidor web de linux, hay alguna diferencia a la hora de instalar????
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 09:58.