captcha is pretty easy to do...
this is a simple example using uploaded ttf's and a bit of rotation/sizing/etc... and based off a png file
<?
session_start();
$md5 = md5(microtime() * mktime());
$string = substr($md5,0,6);
$captcha = imagecreatefrompng("graphics/captcha.png");
$red = imagecolorallocate($captcha, 255, 0, 0);
$black = imagecolorallocate($captcha, 0, 0, 0);
$blue = imagecolorallocate($captcha, 0, 0, 255);
$line = imagecolorallocate($captcha, 0, 0, 0);
$font1 = "fonts/vrinda.ttf";
$font2 = "fonts/comic.ttf";
$font3 = "fonts/GARA.TTF";
imagettftext($captcha, 20, -5, 5, 20, $red, $font1, substr($string, 0, 1));
imagettftext($captcha, 22, 10, 30, 25, $black, $font2, substr($string, 1, 1));
imagettftext($captcha, 18, 15, 65, 20, $blue, $font3, substr($string, 2, 1));
imagettftext($captcha, 16, -10, 80, 30, $red, $font1, substr($string, 3, 1));
imagettftext($captcha, 22, 0, 100, 25, $black, $font2, substr($string, 4, 1));
imagettftext($captcha, 16, 20, 125, 20, $blue, $font3, substr($string, 5, 1));
$_SESSION['key'] = md5($string);
header("Content-type: image/png");
imagepng($captcha);
?>