PHP: ritagliare immagine
21/05/2012Le librerie grafiche di PHP sono estremamente potenti e permettono di manipolare immagini lato server con una discreta facilità.
Immaginiamo di voler creare delle thumbnail di immagini caricate dall'utente attraverso la tecnica non della riduzione della stessa ma del ritaglio di un particolare, fornendo le cordinate del ritaglio.
Ecco lo script (nell'esempio l'immagine viene definita nella prima variabile, naturalmente può esser ricavata dinamicamente):
$filename= "test.jpg";
list($w, $h, $type, $attr) = getimagesize($filename);
$src_im = imagecreatefromjpeg($filename);
$src_x = '0'; // coordinata di taglio x
$src_y = '0'; // coordinata di taglio y
$src_w = '100'; // larghezza del taglio
$src_h = '100'; // altezza del taglio
$dst_x = '0'; // coordinata x di destinazione
$dst_y = '0'; // coordinata y di destinazione
$dst_im = imagecreatetruecolor($src_w, $src_h);
$white = imagecolorallocate($dst_im, 255, 255, 255);
imagefill($dst_im, 0, 0, $white);
imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h);