codice:
<?php
// imposto gli header
header("Content-type: image/png");
// istanzio una nuova immagine di dimensioni x=200 e y=300
$immagine = imagecreatetruecolor(300, 180);
// assegno il primo colore, questo colore sarà anche lo sfondo dell'immagine - COSA STRANA: LO USA ANCHE PER I RETTANGOLI E LE SCRITTE (VEDI IN SEGUITO)
$sfondo = imagecolorallocate($immagine, 255, 255, 170);
// copro lo sfondo nero dell'immagine
imagefilledrectangle($immagine, 0, 0, 300, 180, $sfondo);
// qui istanzio il nero - COSA STRANA: LO USA ANCHE PER I RETTANGOLI E LE SCRITTE (VEDI IN SEGUITO)
// $black = imagecolorallocate($immagine, 0, 0, 0);
// salvo in un array altri colori da utilizzare per le immagini random che creeranno confusione (noise)
$blue = imagecolorallocatealpha($immagine, 150, 150, 250, 0);
$purple = imagecolorallocatealpha($immagine, 190, 120, 190, 0);
$green = imagecolorallocatealpha($immagine, 110, 240, 110, 0);
$orange = imagecolorallocatealpha($immagine, 250, 160, 140, 0);
$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);
$col1 = 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);
$col2 = array_rand($colors);
// creo i rettangoli
imagefilledrectangle($immagine, $x1, $y1, $x2, $y2, $col1);
// creo i le scritte confondenti
imagettftext($immagine, $size_noise, $angle_noise, $x_noise, $y_noise, $col2, "font1.ttf", "noise");
}
// invio l'output come immagine PNG
imagepng($immagine);
// libero la memoria
imagedestroy($immagine);
?>