您好,欢迎访问一九零五行业门户网

验证码的一个类,如何就是不出来图片呢

验证码的一个类,怎么就是不出来图片呢
自己闲着没事,自定义了一个验证码生成的类,但是不知道为什么,图片就是现实不出来。还请高手指点一下。
img_width = $img_width;
$this->img_height = $img_height;
$this->font_size = $font_size;
$this->line_count = $line_count;
}
//验证码生成主方法
function createcodeimg(){
$this->creategraphics();  
$this->getchars();
$this->setnoiceline();
$x = rand(2,5);
$arr_x_y = array(array($x,rand(1,3)),array($x+$this->font_size,rand(1,4)),array($x+2*$this->font_size,rand(1,3)),array($x+3*$this->font_size,rand(1,4)));
print_r($arr_x_y);
for($i = 0;$i $text_color = imagecolorallocate($this->img, rand(180,250), rand(180,250), rand(180,250));
imagechar($this->img,$this->font_size,$arr_x_y[$i][0],$arr_x_y[$i][1],$this->arr_char[$i],$text_color); 
}
}
//创建画图板
function creategraphics(){
header(content-type: image/png); 
$this->img = @imagecreatetruecolor($this->img_width, $this->img_height) or die(建立图像失败); //创建图片
$background_color = imagecolorallocate($this->img, 250, 250, 250);
imagefill($this->img,0,0,$background_color);
$border_color = imagecolorallocate($this->img,0,0,0); //边框色
imagerectangle($this->img,0,0,$this->img_width,$this->img_height,$border_color);
}
//画噪音线
function setnoiceline(){
for($i = 0;$i line_count;$i ++){
$x1 = rand(3,20);//开始位置
$y1 = rand(2,$this->img_height);
$x2 = rand($this->img_width-20,$this->img_width-2);//结束位置
$y2 = rand(2,$this->img_height);
$line_color = imagecolorallocate($this->img, rand(180,250), rand(180,250), rand(180,250));
imageline($this->img,$x1,$y1,$x2,$y2,$line_color); 
}
}
//产生随机字符串或者加减字符
function getchars(){
$strcode = ;
if(rand(0,1) == 1){//字符串类型的 验证码
for($i = 0;$i  $this->arr_char[$i] = $this->str_chars[rand(0,56)];
$strcode .= $this->arr_char[$i];
}
$this->code_result = $strcode;
}
else{ //加减类型验证码
$first_num = rand(1,10);
$second_num = 0;
$result = 0;
$arr_operater = array(+,-);
$operater = $arr_operater[rand(0,1)];
switch ($operater){
case +:
$second_num = rand(0,10);
$result = $first_num + $second_num;
break;
case -:
$second_num = rand(0,$first_num);
$result = $first_num - $second_num;
break;
}
$this->arr_char = array($first_num,$operater,$second_num,=);

其它类似信息

推荐信息