Que pena leer tan mal!
Los colores estan codificados en RGB (red-green-blue) asi que cada vez que ves: $color1, $color2, $color3 estas viendo la cantidad de rojo, verde y azul y que como te explico mejor al final son el la practica esos grises horribles.
Ten en cuenta que el bajo contraste tiene que ver con hacer mas dificil la decodificacion via algortimos de reconocimiento de caracteres, pero bueno aca un cambio ... luego si tengo tiempo lo mejoro haciendo puedas cojer entre varios colores pre-seleccionados de un array con array_rand() ..bla bla bla
Código PHP:
Ver original<?php
#create image and set background color
imagefill($captcha, 0, 0, $background_color);
#draw some lines
for($i=0;$i<10;$i++){
imageline($captcha, rand(0,130),rand(0,35), rand(0,130), rand(0,35),imagecolorallocate($captcha, 0x33, 0xff, 0x00)); //33ff00 = es un verde claro }
#generate a random string of 5 characters
#make string uppercase and replace "O" and "0" to avoid mistakes
#save string in session "captcha" key
$_SESSION["captcha"]=$string;
#place each character in a random position
$font = 'arial.ttf';
for($i=0;$i<5;$i++){
imagettftext ($captcha, 15, rand(-25,25), $x, $y, imagecolorallocate($captcha, 0x00, 0x33, 0x66), $font, $string[$i]); }else{
}
}
#applies distorsion to image
#avoids catching
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: private",false);
#return the image
header("Content-type: image/gif"); ?>
Basicamente elimine esos $color, $color, $color que te daban siempre grises (porque R == G == B son grises) y le puse unos que me gustaron que coji de esta
tabla RGB
PD: el post anterior mio.... denota estaba en las nubes...... jejeje