<?



class captcha



{



var $str;



var $x = 100;



var $y = 40;



var $img;



var $gif=false;



var $png=false;



var $jpg=false;







function captcha($str)



{



if (!function_exists('gd_info')){header('Location: /style/errors/gd_err.gif');exit;}



if (imagetypes() & IMG_PNG)$this->png=true;



if (imagetypes() & IMG_GIF)$this->gif=true;



if (imagetypes() & IMG_JPG)$this->jpg=true;



$this->str=$str;







$this->img=imagecreatetruecolor($this->x, $this->y);



imagefill($this->img, 0, 0, imagecolorallocate ($this->img, 255, 255, 255));



}







function create()



{



for ($i=0;$i<5 ;$i++ ) {



$n=$this->str{$i};



if ($this->png)$num[$n]=imagecreatefrompng(H.'/style/captcha/'.$n.'.png');



elseif ($this->gif)$num[$n]=imagecreatefromgif(H.'/style/captcha/'.$n.'.gif');



elseif ($this->jpg)$num[$n]=imagecreatefromjpeg(H.'/style/captcha/'.$n.'.jpg');



imagecopy($this->img, $num[$n], $i*15+10, 8, 0, 0, 15, 20);



}



}



function MultiWave()



{



include_once H.'sys/inc/MultiWave.php';



$this->img=MultiWave($this->img);



}







function colorize($value=90)



{



if (function_exists('imagefilter'))



imagefilter($this->img, IMG_FILTER_COLORIZE, mt_rand(0, $value), mt_rand(0, $value), mt_rand(0, $value));



}







function output($q=50)



{



@ob_end_clean();



if ($this->jpg)



{



header("Content-type: image/jpeg");



imagejpeg($this->img,null,$q);



}



elseif ($this->png)



{



header("Content-type: image/png");



imagepng($this->img);



}



elseif ($this->gif)



{



header("Content-type: image/gif");



imagegif($this->img);



}



exit;



}















}



































?>



