codice:
// imposto gli header
header("Content-type: image/png");
// istanzio una nuova immagine di dimensioni x=200 e y=300
$immagine = imageCreate(300, 180);
// assegno il primo colore, questo colore sarà anche lo sfondo dell'immagine
$sfondo = imageColorAllocate($immagine, 255, 255, 170);
// qui istanzio il nero
$black = imageColorAllocate($immagine, 0, 0, 0);
// salvo in un array altri colori da utilizzare per le immagini random che creeranno confusione (noise)
$blue = imageColorAllocate($immagine, 150, 150, 250);
$purple = imageColorAllocate($immagine, 190, 120, 190);
$green = imageColorAllocate($immagine, 110, 240, 110);
$orange = imageColorAllocate($immagine, 250, 160, 140);
$colors = array($blue, $purple, $green, $orange);
// rettangoli casuali e noise letterale
for ($n = 1; $n <= 10; $n++){
// parametri casuali ellisse
$x1 = rand(0, 300);
$y1 = rand(0, 180);
$x2 = rand(0, 300);
$y2 = rand(0, 180);
$col = array_rand($colors);
// parametri casuali parole noise
$x_noise = rand(0, 300);
$y_noise = rand(0, 180);
$angle_noise = rand(0, 360);
$size_noise = rand(20, 70);
// creo i rettangoli
imageFilledRectangle($immagine, $x1, $y1, $x2, $y2, $col);
// creo i le scritte confondenti
imagettftext($immagine, $size_noise, $angle_noise, $x_noise, $y_noise, $col, "font1.ttf", "noise");
}
// invio l'output come immagine PNG
imagePng($immagine);
// libero la memoria
imageDestroy($immagine);