Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/11/2005, 15:07
DjNelson
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 9 meses
Puntos: 0
Hace tiempo hice este script para mostrar una imagen redimensionada:

Código PHP:
<?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,$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);
?>
Lo que hace es darle un ancho a la imagen en función de su alto y darle un alto en función de su ancho de manera que o bien tiene un alto de 100 pixeles o un ancho de 100 píxeles, pero o una cosa o la otra (y siempre con su alto/ancho correspondiente), de manera que nunca sale estirada, sale siempre proporcionada.

Para usar la función puedes pasarle un ancho o un alto determinados o puedes omitir estos parámetros y dejar que el script ponga su alto y ancho por defecto:

Código:
<html>
<head>
</head>
<body>
<img src="miniatura.php?img=e:\Mis documentos\misite\imagenes\imagen.jpg&alto=50&ancho=100">
<img src="miniatura.php?img=e:\Mis documentos\misite\imagenes\imagen.gif">
</body>
</html>
Se puede usar el script para mostrar una galería completa de imágenes, por ejemplo las que tengas en una determinada carpeta, solo tienes que leer el directorio y para cada imagen generar el código anterior.

Mira si te sirve.

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

Última edición por DjNelson; 18/11/2005 a las 15:12