Librerie GD e PHP

Librerie GD e PHP

Cosa sono le librerie GD?

Le librerie GD, sono per l’appunto delle librerie, utilizzate con il linguaggio PHP, utili per la creazione e la personalizzazione di immagini.

Esistono attualmente 2 tipi di librerie GD, per via di una passata violazione di copyright del formato GIF. Ovvero, fino alla versione 1.6 sono supportati i formati GIF, JPEG e PNG.
Dalla versione 1.6 in poi rimangono supportati solo i formati PNG e JPEG.

Per cosa possono essere utilizzate?

Le librerie possono essere usate per svariati scopi grafici, utilizzando il nostro server come elaboratore immagini.
Vi sono inoltre un’infinità di funzioni per l’elaborazione delle immagini.

Vi sono delle basi?

Vi elencherò alcune funzioni basilari, con una breve descrizione del loro utilizzo:

  • imagecreatetruecolor – dove vengono definite le dimensioni in pixel dell’immagine da creare, ovvero altezza e larghezza;
  • imagecolorallocate – serve per aggiungere un colore all’immagine, io l’ho utilizzata con delle PNG per dare la trasparenza allo sfondo;
  • imagepng o imagejpeg – crea l’immagine vera e propria, con l’estensione a seconda della funzione utilizzata;
  • imagedestroy – libera la memoria occupata precedentemente per la creazione dell’immagine (ovvero l’immagine temporanea).

Da notare, che alle immagini può essere applicato del testo, quindi unire anche immagine-testo.

Ora un rapido esempio pratico di unione di due immagini, per la creazione di un markers utilizzabile su Google Maps.

<?php
$file = ‘url’; // immagine uno
$file2 = ‘url2’; // immagine 2
// Recupero dimensioni immagini
$size=getimagesize($file);
$size2=getimagesize($file2);
// Creazione immagini da utilizzare per l’elaborazione
$img=imagecreatefrompng($file);
$img2=imagecreatefrompng($file2);
// Aggiunta colore e trasparenza allo sfondo
$imgcolore = imagecolorallocate($img2, 0, 0, 0);
imagecolortransparent($img,$imgcolore);
// Ridimensionamento marker
imagecopyresampled($img,$img2,7,9,0,0,55,55,$size2[0],$size2[1]);
// Aggiunta nome
$imagename = 'marker.png';
$path = ‘url dove salvare img’;
imagepng($img, ''.$path.$imagename.'');
$fh = fopen(''.$path.$imagename.'', 'a+');
// Libero la memoria
imagedestroy($img);
?>

Il marker è stato ora creato ed è utilizzabile. E’ possibile rendere il codice dinamico applicando piccolissime modifiche.

Il resto della documentazione ufficiale è disponibile su php.net

Per ulteriori dubbi non esitate a contattarci.

Seguiteci anche su Facebook, Google Plus, Tumblr e Twitter, per restare sempre in contatto con noi e con le nostre guide.



Cerca

Seguici

Live da Facebook
Live da Twitter
Seguici su Telegram
Canale InsiDevCode Telegram