Buenas, actualmente utilizo la siguiente función para redimensionar imágenes y así crear un tumbs de imágenes grandes:
Archivo: fun_redimensionar.php
Código:
<?php
$anchura=$_GET['anchura'];
$hmax=$_GET['hmax'];
$nombre=$_GET['imagen'];
$datos = getimagesize($nombre);
if($datos[2]==1){$img = @imagecreatefromgif($nombre);}
if($datos[2]==2){$img = @imagecreatefromjpeg($nombre);}
if($datos[2]==3){$img = @imagecreatefrompng($nombre);}
$ratio = ($datos[0] / $anchura);
$altura = ($datos[1] / $ratio);
if($altura>$hmax){$anchura2=$hmax*$anchura/$altura;$altura=$hmax;$anchura=$anchura2;}
$thumb = imagecreatetruecolor($anchura,$altura);
imagecopyresampled($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]);
if($datos[2]==1){header("Content-type: image/gif"); imagegif($thumb);}
if($datos[2]==2){header("Content-type: image/jpeg");imagejpeg($thumb);}
if($datos[2]==3){header("Content-type: image/png");imagepng($thumb); }
imagedestroy($thumb);
?>
El problema es que con algunas imágenes no funciona e ignoro el motivo, esta es una de ellas:
http://www.telefonica.net/web/byethernal/DSC00171.JPG
Para mostrar la imagen utilizo lo siguiente:
Código:
<img src="fun_redimensionar.php?imagen=img/fotos/'.$directorio.'/'.$imagen_f.'" class="imagen" />
Donde $directorio es la carpeta donde se almacena el archivo e $imagen_f es DSC00171.JPG lógicamente.
¿Alguien sabe cual es el problema?