La libreria GD (Graphics Draw) è uno degli strumenti più utilizzati in PHP per la manipolazione delle immagini. Permette di creare e modificare immagini in vari formati, tra cui JPEG, PNG, GIF e altri. In questa guida vedremo come utilizzare la libreria GD per eseguire alcune operazioni comuni sulle immagini, supportandoci con esempi pratici.
```
sudo apt-get install php-gd
sudo service apache2 restart
```
Per sistemi Windows, è sufficiente abilitare la libreria GD nel file php.ini.
Un esempio semplice di utilizzo della libreria GD è la creazione di una immagine vuota:
```
$larghezza = 200;
$altezza = 200;
$immagine = imagecreatetruecolor($larghezza, $altezza);
// Colori
$bianco = imagecolorallocate($immagine, 255, 255, 255);
$nero = imagecolorallocate($immagine, 0, 0, 0);
// Riempire l’immagine con il colore bianco
imagefill($immagine, 0, 0, $bianco);
// Disegnare un rettangolo nero
imagerectangle($immagine, 50, 50, 150, 150, $nero);
// Salvare l’immagine
header(‘Content-Type: image/png’);
imagepng($immagine);
imagedestroy($immagine);
?>
```
Una delle operazioni più comuni è il ridimensionamento di una immagine. Ecco come farlo:
```
$filename = ‘immagine_originale.jpg’;
// Carica l’immagine originale
$immagine = imagecreatefromjpeg($filename);
$larghezza_orig = imagesx($immagine);
$altezza_orig = imagesy($immagine);
$larghezza_nuova = 100;
$altezza_nuova = 100;
// Crea una nuova immagine vuota
$immagine_nuova = imagecreatetruecolor($larghezza_nuova, $altezza_nuova);
// Copia e ridimensiona l’immagine vecchia in quella nuova
imagecopyresampled($immagine_nuova, $immagine, 0, 0, 0, 0, $larghezza_nuova, $altezza_nuova, $larghezza_orig, $altezza_orig);
// Salva la nuova immagine
imagejpeg($immagine_nuova, ‘immagine_ridimensionata.jpg’);
// Libera la memoria
imagedestroy($immagine);
imagedestroy($immagine_nuova);
?>
```
Un’altra funzionalità utile è l’aggiunta di testo a un’immagine esistente:
```
$immagine = imagecreatefromjpeg(‘cani.jpg’);
// Colore del testo
$bianco = imagecolorallocate($immagine, 255, 255, 255);
// Testo
$testo = ‘Ciao cani!’;
$font_size = 5;
// Aggiungi il testo all’immagine
imagestring($immagine, $font_size, 10, 10, $testo, $bianco);
// Mostra l’immagine
header(‘Content-Type: image/jpeg’);
imagejpeg($immagine);
// Libera la memoria
imagedestroy($immagine);
?>
```
1. PHP Manuale Ufficiale della Libreria GD: [PHP GD Manual](https://www.php.net/manual/en/book.image.php)
2. W3Schools PHP GD Tutorial: [W3Schools GD](https://www.w3schools.com/php/php_ref_gd.asp)
Queste fonti forniscono una documentazione completa su tutte le funzioni disponibili nella libreria GD e includono vari esempi pratici.
Utilizzando la libreria GD, è possibile creare web application ricche di funzionalità grafiche, rendendo più interattive e dinamiche le esperienze degli utenti.