<?php

ini_set ("display_errors", 1);
error_reporting(E_ALL);

session_start();

$answer=$_SESSION['captcha'];

#if (!$answer) $answer="looser;)";

$W=200;
$H=70;

$fontzf='bradley.gdf.gz';
$tfontf=tempnam('/tmp/','cap');

$zfp=gzopen($fontzf,'r'); $fp=fopen($tfontf,'w');
while ($data=gzread($zfp,4096)) fwrite($fp,$data) ;
gzclose($zfp); fclose($fp);
$font=imageloadfont($tfontf);
unlink($tfontf);
$image = imagecreate($W, $H);
$background = imagecolorallocatealpha($image, 255, 255, 105, 127);
$textcolor = imagecolorallocate($image, 0, 0, 255);
function randcolor($alpha=0) { global $image; return 
  imagecolorallocatealpha($image,rand(0,128),rand(0,128),rand(0,128), $alpha  );
}
for ($i=0;$i<strlen($answer);$i++) {
  imagearc( $image, $w=rand(0,$W), $h=rand(0,$H), $W-$w, $H-$h, rand(0,90), rand(0,90), randcolor(85) );
  imagechar($image, $font, $i*30+rand(0,10), rand(-5,15), $answer[$i], 
    randcolor() );
}
header("Content-type: image/png");
die($imagepng=imagepng($image,NULL,9));
?>