qui sotto ho riportato uno script che uso per creare degli sfondi random per della captcha! Il problema è che per il testo e per i rettangoli (disegnati a caso) lo script mi adopera anche colori che, banchè istanziati correttamente, non appartengono agli array da cui pesca lo script per colorare questi elementi (testo e i rettangoli). Come mai? i colori usati a "sproposito" il nero e il giallino dello sfondo dell'immagine. HELP ME!

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);