Está usted en Indice > Construcción > Lenguajes > PHP > Lecciones y Paso a Paso > Generar imágenes en miniatura con PHP
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Generar imágenes en miniatura con PHP.

Es frecuente que en ciertos programas nos interese mostrar una miniatura de una imagen en lugar de la imagen completa. Puede interesarnos sobre todo para disminuir el volumen de tráfico y agilizar la carga de una página.

El siguiente código permite hacer una llamada como <img src="miniatura.php?nombre=imagen.jpg?ancho=100&alto=200"> y mostraría una imágen con un ancho máximo de 100 pixel y 200 de alto como máximo.

<?php
// ancho y alto predeterminados
$ancho=100;
$alto=100;

$nombre=$_GET['nombre'];
$ancho=$_GET['ancho'];
$alto=$_GET['alto'];

$tipo=substr($nombre,-3);

switch ($tipo)
{
case "jpg":
$im1=imagecreatefromjpeg($nombre);
break;
case "gif":
$a=explode("/",$nombre);
$a1=$a[count($a)-1];
if (!is_file("$_SERVER[DOCUMENT_ROOT]/imagenes/tmp/$a1.jpg"))
passthru("/usr/bin/convert $nombre $_SERVER[DOCUMENT_ROOT]/imagenes/tmp/$a1.jpg");
$nombre="imagenes/tmp/$a1.jpg";
$tipo="jpg";
$im1=imagecreatefromjpeg( "$nombre");
//unlink($nombre);
break;
case "png":
$im1=imagecreatefrompng($nombre);
break;
default:
return; /* o mostrar predeterminada
}

$tam = GetImageSize($nombre);
$ancho_imagen = $tam[0];
$alto_imagen = $tam[1];

$imagepro=$imageproph=1;
if ($ancho_imagen > $ancho)
$imageprop=$ancho/$ancho_imagen;
if ($alto_imagen > $alto)
$imageproph=$alto/$alto_imagen;
if ( $imageprop>$imageproph)
$imagepro=$imageproph;
$imagen_hor_tam= ceil($ancho_imagen*$imageprop) ;
$imagen_ver_tam=ceil($alto_imagen*$imageprop) ;

$im=imagecreate($imagen_hor_tam, $imagen_ver_tam);
ImageInterlace($im,1);
imagecopyresized($im, $im1, 0, 0, 0, 0, $imagen_hor_tam, $imagen_ver_tam, ImageSX($im1), ImageSY($im1));

switch ($tipo)
{
case "jpg":
Header("Content-type: image/jpg");Imagejpeg($im);
break;
case "png":
Header("Content-type: image/png");Imagepng($im);
break;
default:
return;
}

ImageDestroy($im);
error_reporting($a);
?>




Autor: A.I.W.H
http://www.aiwh.org/trucosphp6.php

Usuarios que han visto este tema también han visto...

- Introducción al PHP y a las librerías
- Aprende a hacer un buscador que funcione con cualquiera de tus tablas mysql
- Distribución mundial de PHP
- Enviar un e-mail HTML con PHP
- Contador PHP con imágenes


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 13-02-2012 a las 07:16:04