
04/06/2005, 17:03
|
| | Fecha de Ingreso: julio-2003 Ubicación: España
Mensajes: 723
Antigüedad: 21 años, 7 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 |