In questo articolo, vedremo brevemente come creare una funzione per la creazione 'al volo' di minature da immagini originali; per far questo sfrutteremo le note libreire GD2 messe a disposizione da PHP.
Riportiamo di seguito il codice della funzione:
<?
function getThumb($weight_tb, $height_tb, $source)
{
$img = @imagecreatefromjpeg($source);
$weight = @imagesx($img);
$height = @imagesy($img);
$ratio = @min($weight_tb/$weight, $height_tb/$height);
if ($ratio < 1)
{
$new_weight = @floor($ratio*$weight);
$new_height = @floor($ratio*$height);
$temp = @imagecreatetruecolor($new_weight, $new_height);
@imagecopyresized($temp, $img,0,0,0,0,
$new_weight, $new_height, $weight, $height);
@imagedestroy($img);
$img = $temp;
}
@header("Content-type: image/jpeg");
$img_res = @imagejpeg($img);
return $img_res;
}
?>
Come è facile osservare, la funzione non fà altro che ricevere quali parametri l'altezza e la larghezza massima dell'immagine di destinazione e il percorso al file originale.
Richiamarla all'interno di un script sarà molto semplice:
<?
@require 'function.php';
$w = 100;
$h = 100;
$s = 'img/immagine.jpeg';
$i = getThumb($w,$h,$s);
?>
Basterà infatti indicare alla funzione i parametri per il ridimensionamento e l'immagine da ridimensionare.
|