| 
<?php
error_reporting(0);
 session_start();
 $arr=$_SESSION['captcha'][$_GET['session']];
 $img=imagecreatetruecolor(112,48);
 imagefill($img,0,0,0xFFFFFF);
 
 for($i=0;$i<count($arr);$i++)
 {
 $color=0;
 ereg ("jg.drawLine\(([0-9]+), ([0-9]+), ([0-9]+), ([0-9]+)\);\n", $arr[$i], $regs);
 $x1=$regs[1]+1;
 $y1=$regs[2]+1;
 $x2=$regs[3]+1;
 $y2=$regs[4]+1;
 imagelinethick($img, $x1, $y1, $x2, $y2, $color, 4);
 }
 
 
 function imagelinethick($image, $x1, $y1, $x2, $y2, $color, $thick = 1)
 {
 if ($thick == 1) {
 return imageline($image, $x1, $y1, $x2, $y2, $color);
 }
 $t = $thick/2- 0.5;
 if ($x1 == $x2 || $y1 == $y2) {
 return imagefilledrectangle($image, round(min($x1, $x2) - $t), round(min($y1, $y2) - $t), round(max($x1, $x2) + $t), round(max($y1, $y2) + $t), $color);
 }
 $dx=($x2 - $x1) / sqrt(($x2 - $x1)*($x2 - $x1));
 $dy=($y2 - $y1) / sqrt(($y2 - $y1)*($y2 - $y1));
 $points = array(
 round($x1 - $t*$dx), round($y1 + $t*$dy),
 round($x1 - $t*$dx), round($y1 - $t*$dy),
 round($x1 + $t*$dx), round($y1 - $t*$dy),
 
 round($x2 + $t*$dx), round($y2 - $t*$dy),
 round($x2 + $t*$dx), round($y2 + $t*$dy),
 round($x2 - $t*$dx), round($y2 + $t*$dy)
 );
 imagefilledpolygon($image, $points, 6, $color);
 return imagepolygon($image, $points, 6, $color);
 }
 
 header('Content-type: image/gif');
 imagegif($img);
 imagedestroy($img);
 ?>
 |