Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/06/2005, 17:03
DjNelson
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 9 meses
Puntos: 0
Con la librería GD puedes crear una imagen pequeña a partir de una grande, ya no necesitas dos tamaños y dos imágenes, basta con almacenar la grande y obtener el resto dinámicamente.

Aquí te dejo un script (llamado miniatura.php) que crea una imagen pequeña a partir de una grande (a escala):

<?php

$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,$nue vo_ancho,$nuevo_alto,imagesx($imgcache),imagesy ($imgcache));

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

imagedestroy ($imgmini);
imagedestroy ($imgcache);
?>

Para llamar a este script hazlo así:

<html>
<head><title>Ejemplo</title>
</head>

<body>
<img src="miniatura.php?img=avatares/008.gif&alto=80&ancho=80">
</body>
</html>


Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)

Última edición por DjNelson; 04/06/2005 a las 17:19