复制代码 代码如下:
<?php
Classcode
{
var$width=160;//图片的宽
var$hight=40;//图片的高
var$image;
var$red=223;//图片的RGB颜色
var$green=225;//红
var$blue=227;//绿
var$pix=227;//蓝
var$pixcolor;//杂色颜色;
var$pixred=242;//红
var$pixgreen=168;//绿
var$pixblue=162;//蓝
var$txt=null;//验证码文字
var$txtcode=null;
var$txtsub=null;
var$pixnum=300;//杂点数量
var$i=0;
var$widthpx=0;
var$highty=0;
var$txtreg=50;
var$txtgreen=30;
functioncreateimage()//创建一张图并填色
{
$this->image=imagecreate($this->width,$this->hight);
$this->color=imagecolorallocate($this->image,$this->red,$this->green,$this->blue);
returnimagefill($this->image,0,0,$this->color);
}
functioncreatepix()//干扰因素
{
for($this->i=1;$this->i<$this->pixnum;$this->i++)
{
$this->widthpx=rand(0,$this->width);
$this->highty=rand(0,$this->hight);
$this->pixcolor=imagecolorallocate($this->image,$this->pixred,$this->pixgreen,$this->pixblue);
imagesetpixel($this->image,$this->widthpx,$this->highty,$this->pixcolor);
}
}
functiongettxt()//创建验证码文字
{
$this->txt=array("我","爱","你","叶","就","慧","明","发","真","的","很","想","不","知","到","为","什","么","就","是","忘","不","了","你","也","许","上","辈","欠","钱");
for($this->i=0;$this->i<6;$this->i++)
{
$this->sub=$this->txt[rand(0,29)];
$this->txtcode.=$this->sub;
}
$this->txtcode=iconv("GB2312","UTF-8",$this->txtcode);
$_SESSION["code"]=$this->txtcode;//产生的验证ID
}
functioncreatestring()//创建验证码图片
{
imagettftext($this->image,20,5,0,40,$this->pixcolor,"C:WINDOWSFontssimsun.ttc",$this->txtcode);
header("content-type:image/png");
returnimagepng($this->image);
imagedestroy($this->image);
}
functiongetcodeimage()//获得验证码图片
{
$this->createimage();
$this->gettxt();
$this->createpix();
$this->createstring();
}
}
?>
<?php
session_start();
$text=newcode;
$text->createimage();
$text->gettxt();
$text->createpix();
$text->createstring();
?>