解决方案 »

  1.   

    CSDN这样的网上有的,你GOOGLE一下.
      

  2.   

    //开启session
    session_start();
    //注册session
    session_register("yanzhengma");
    header("Content-Type:image/gif");
    //规定图片的宽和高
    $img=imagecreatetruecolor(51,28);
    //让图片得到颜色,RGB颜色对应
    $tpcolor=imagecolorallocate($img,243,245,251);
    $zdcolor=imagecolorallocate($img,243,190,0);
    //为图片填充颜色
    imagefill($img,0,0,$tpcolor);
    //得到文字的颜色
    $textcolor=imagecolorallocate($img,243,90,0);$string="23456789abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ";
    for($j=0;$j<4;$j++)
    {
        $safe.=substr($string,rand(0,57),1);
    }
    //给session赋值 
    $_SESSION["yanzhengma"]=$safe;
    /*           
     输入中文或者字母需要把gb2312格式的代码转化为UTF-8格式的代码                                   
    iconv(当前编码,要转换的编码,字符串);                                
    $font=iconv("gb2312","UTF-8","Yt899MB");                       
                                                                                      
    在图片中写字       
    Imagettftext(图像标识,字体大小,角度,X坐标,Y坐标,颜色,字体文件名,字符串);
    要得到随机数把 $font改为用例:rand(2000,3542);*/imagettftext($img,16,20,10,30,$textcolor,"SIMHEI.TTF",$safe);
    //画杂点
    for($i=0;$i<1300;$i++){
    //得到杂点
    imagesetpixel($img,mt_rand(0,200),mt_rand(0,200),$zdcolor);
    }
    //得到交叉的两条直线
    //imageline(图像标识,开始点X坐标,开始点Y坐标,结束点X坐标,结束点Y坐标,颜色)
    imageline($img,0,0,rand(56,200),rand(48,100),$zdcolor);
    imageline($img,rand(45,200),0,0,rand(67,100),$zdcolor);
    //得到图片
     imagegif($img);
     
    ?>