Disegnare con le librerie GD

Dopo il post 'Introduzione alle librerie GD', possiamo partire a conoscere altre funzioni per disegnare linee, rettangoli, cerchi, archi o stringhe.
Per disegnare un rettangolo abbiamo due funzioni:
- imagerectangle() crea un rettangolo che parte a delle specifiche coordinate.
- imagefilledrectangle() crea un rettangolo riempito con un colore assegnato all'immagine.

Primo esempio:

Codice:

<?php
$img = imagecreatetruecolor(200, 200);
$color = imagecolorallocate($img, 21,154,224);
imagerectangle($img, 10, 30, 190, 190, $color);
header("Content-type: image/png");
imagepng($img);
imagedestroy($img);
?>

Risultato:


Secondo esempio (con riempimento):

Codice:

<?php
$img = imagecreatetruecolor(200, 200);
$color = imagecolorallocate($img, 21,154,224);
imagefilledrectangle($img, 10, 30, 190, 190, $color);
header("Content-type: image/png");
imagepng($img);
imagedestroy($img);
?>

Risultato:


Disegnare una linea:
Esempio:

Codice:

<?php
$img = imagecreatetruecolor(200, 200);
$color = imagecolorallocate($img, 255,255,255);
imageline($img, 10, 30, 190, 190, $color);
header("Content-type: image/png");
imagepng($img);
imagedestroy($img);
?>

Risultato:

imageline() disegna una linea tra due punti dati.

Disegnare un cerchio:
Esempio:

Codice:

<?php
$img = imagecreatetruecolor(200, 200);
$color = imagecolorallocate($img, 255,0,0);
imagearc($img, 100, 100, 80, 80, 0, 360, $color);
header("Content-type: image/png");
imagepng($img);
imagedestroy($img);
?>

(Rimpiazza imagearc con imagefilledarc per ottenere un cerchio riempito [come per l'esempio precedente del rettangolo])

Risultato:

imagearc() disegna una porzione di cerchio (un arco) con il centro a determinate coordinate.

Disegnare un arco:
Esempio:

Codice:

<?php
$img = imagecreatetruecolor(200, 200);
$color = imagecolorallocate($img, 0,255,0);
imagefilledarc($img, 100, 100, 80, 80, 0, 60, $color, IMG_ARC_PIE);
header("Content-type: image/png");
imagepng($img);
imagedestroy($img);
?>

(Rimpiazzare imagefilledarc con imagearc per un arco senza riempimento)

Risultato:

Disegna un'ellisse parziale con il centro a delle specifiche coordinate.

Disegnare del testo:
Esempio:

Codice:

<?php
$img = imagecreatetruecolor(200, 200);
$color = imagecolorallocate($img, 0,0,255);
imagestring($img, 3, 10, 10, "Hello world!", $color);
header("Content-type: image/png");
imagepng($img);
imagedestroy($img);
?>

Risultato:

imagestring() disegna una stringa a delle specifiche coordinate.

Fusione di tutti i codici:
Esempio:

Codice:

<?php
$img = imagecreatetruecolor(200, 200);
$color = imagecolorallocate($img, 21,154,224);
imagefilledrectangle($img, 10, 30, 190, 190, $color);
$color = imagecolorallocate($img, 255,255,255);
imageline($img, 10, 30, 190, 190, $color);
$color = imagecolorallocate($img, 255,0,0);
imagearc($img, 100, 100, 80, 80, 0, 360, $color);
$color = imagecolorallocate($img, 0, 255, 0);
imagefilledarc($img, 100, 100, 80, 80, 0, 60, $color, IMG_ARC_PIE);
$color = imagecolorallocate($img, 0,0,255);
imagestring($img, 5, 10, 10, "Hello world!", $color);
header("Content-type: image/png");
imagepng($img);
imagedestroy($img);
?>

Risultato:


Per altre informazioni sulle GD e sulle sue funzioni visitare http://www.php.net/gd