Código PHP:
<?php
function crear_thumbjpeg($carpeta,$Nombre_imagen,$anchura1,$anchura2)
{
$extension = substr($Nombre_imagen,(strlen($Nombre_imagen)-3),3);
if($extension == "jpg" or $extension == "JPG")
$tipo_img = "jpeg";
else if($extension == "gif" or $extension == "GIF")
$tipo_img = "gif";
$tamaños = array($anchura1, $anchura2);
foreach ($tamaños as $anchura)
{
if($Nombre_imagen)
{
$Ruta_Imagen_Mini = "images/thumbs/tn_".$anchura."_".$Nombre_imagen;
$imagen = $Nombre_imagen;
$camino = $carpeta."/";
if(!file_exists($Ruta_Imagen_Mini)and file_exists($camino.$imagen))
{
try
{
if($tipo_img == "jpeg")
$img = imagecreatefromjpeg($camino.$Nombre_imagen) or die("No se encuentra la imagen $camino.$nombre<br>n");
elseif($tipo_img=="gif")
$img = imagecreatefromgif($camino.$Nombre_imagen) or die("No se encuentra la imagen $camino.$nombre<br>n"); // miramos el tamaño de la imagen original...
$datos = getimagesize($camino.$Nombre_imagen) or die("Problemas con $camino$nombre<br>n");
// intentamos escalar la imagen original a la medida que nos interesa
$ratio = ($datos[0] / $anchura);
$altura = round($datos[1] / $ratio);
// esta será la nueva imagen reescalada
$thumb = imagecreatetruecolor($anchura,$altura);
// con esta función la reescalamos
imagecopyresampled ($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]);
// voilà la salvamos con el nombre y en el lugar que nos interesa.
// echo "<br>Rutamini: ".$Ruta_Imagen_Mini;
if($tipo_img == "jpeg")
imagejpeg($thumb,$Ruta_Imagen_Mini);
elseif($tipo_img=="gif")
imagegif($thumb,$Ruta_Imagen_Mini);
}
catch(Exception $e)
{
$error = "si";
}
//Ruta de la imagen mini con altura1, la que se devuelve para mostrar...
$error = "images/thumbs/tn_".$anchura1."_".$Nombre_imagen;
}
//si no hay ni mini, ni la grande, no se podrá crear la mini..
elseif(!file_exists($Ruta_Imagen_Mini) and !file_exists($camino.$imagen))
{
$error = "images/icon_noImagen.jpg";
}
elseif(file_exists($Ruta_Imagen_Mini) and file_exists($camino.$imagen))
{
$error = "images/thumbs/tn_".$anchura1."_".$Nombre_imagen;
}
elseif(file_exists($Ruta_Imagen_Mini))
{
$error = "images/thumbs/tn_".$anchura1."_".$Nombre_imagen;
}
}
else
{
$error = "images/icon_noImagen.jpg";
}
}
return $error;
}
?>
En resumen, me gustaria sacar una thumbnai de 89 x 89 recortando la imagen (o como sea)...
Un saludo y gracias anticipadas.