Also, ich habe hier ein kleines Script für dich, das ein CAPTCHA mit verschiedenen Fonts und Farben erstellt. Einbindung wie gehabt, musst nur den Pfad zu den Fonts anpassen (Ich habe ca. 5 Grunge- und Grafittifonts im Ordner und komme gut weg damit):
<?php
session_start ();
$captcha_lenght = 5;
$font_size = 35;
$img_width = 316;
$img_height = 80;
$_SESSION['s_captcha'] = '';
$dir = "../fonts";
$handle = opendir ($dir);
while ($file = readdir ($handle)) {
if($file != "." && $file != ".." {
$_FONTS[] = $dir . '/' . $file;
}
}
closedir ($handle);
$_ALPHABET = array('A', 'B', 'C', 'D', 'E', 'F', 'G',
'H', 'Q', 'J', 'K', 'L', 'M', 'N',
'P', 'R', 'S', 'T', 'U', 'V', 'Y',
'W', '2', '3', '4', '5', '6', '7',
'8', '9';
header ('Content-Type: image/jpeg', true);
$img = imagecreatetruecolor ($img_width, $img_height);
$col = imagecolorallocate ($img, 255, 255, 255);
imagefill ($img, 0, 0, $col);
$x = 40;
for ($i = 1; $i <= $captcha_lenght; $i++) {
$chr = $_ALPHABET [rand(0, count ($_ALPHABET) - 1)];
$_SESSION['s_captcha'] .= $chr;
$col = imagecolorallocate ($img, rand (0, 199), rand (0, 199), rand (0, 199));
$font = $_FONTS[rand(0, count($_FONTS) - 1)];
$y = 50 + rand(0, 20);
$angle = rand(0, 10);
imagettftext($img, $font_size, $angle, $x, $y, $col, $font, $chr);
$dim = imagettfbbox($font_size, $angle, $font, $chr);
$x += $dim[4] + abs($dim[6]) + 10;
}
imagejpeg ($img);
imagedestroy ($img);
?>