Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/01/2010, 13:22
jrcomposer
 
Fecha de Ingreso: enero-2010
Mensajes: 25
Antigüedad: 14 años, 3 meses
Puntos: 0
Redimensionar imagenes con php

Hola:
He visto algunos post parecidos al mío, pero no me han servido, así quisiera pedir ayuda para resolver un problema a la hora de redimensionar imágenes. Tengo bastante poca idea de php, así que suplico que me respondan en lenguaje para inexpertos.
Se trata de rediminsionar cualquiera de los tres formatos de imagen más comunes y llamarlos desde cualquier página extrayendo el nombre del archivo de la base de datos.

Tengo un script que redimensiona imágenes jpg

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

$nombre=$_GET['imagen']; // recibo el nombre de imagen


$tipo=substr($nombre,-3); // extraemos extension

$im1=imagecreatefromjpeg($nombre); // creamos imagen en memoria

$tam = GetImageSize($nombre); // analizamos el tamaño del original

$ancho_imagen = $tam[0];
$alto_imagen = $tam[1];

$imagepro=1;
$imageproph=1;

//if ($ancho_imagen > $ancho) // si el ancho del original es mayor que lo que queremos
$imagepro=$ancho/$ancho_imagen;

//if ($alto_imagen > $alto)
$imageproph=$alto/$alto_imagen;

if ( $alto_imagen>$ancho_imagen)
$imagepro=$imageproph;

$imagen_hor_tam= ceil($ancho_imagen*$imagepro) ; // redondea hacia arriba
$imagen_ver_tam=ceil($alto_imagen*$imagepro) ;

//$imagen_hor_tam= 100 ;
//$imagen_ver_tam=100 ;

$im=imagecreatetruecolor($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));

Header("Content-type: image/jpg,png,gif");Imagejpeg($im);

ImageDestroy($im);
?>


Y a este código lo llamo desde cualquier página con el siguiente código

<?php
$nombre2=$row_plantilla['foto'];
$nombre2="miniatura1.php?imagen=foto1/" . $nombre2;

?>
<img src="<?php echo $nombre2 ?> "/>

de modo que redimensiona cualquier imagen jpg que tenga en la base de datos, se llame como se llame, puesto que extrae el nombre del campo "foto" del juego de registros "plantilla"

¿Como puedo hacer que esto funcione para cualquier tipo de imagen (png, gif y jpg)? Es decir, que si meto una imagen png en la base de datos, la reconozca también y la capte incluso con su transparencia.

Mil gracias a quien me saque de la duda.

Por cierto, para quienes les venga vien este script, funciona muy bien con jpg.