欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP5中图片中文验证码(下)

程序员文章站 2022-03-04 13:06:39
...

1imageheader输出的介绍

 
PHPHEADER是定义头的动作,新PHP5中支持三种类型
 
    Content-Type: xxxx/yyyy    //内容文件类型
    Location: xxxx:yyyy/zzzz
    Status: nnn xxxxxx
 
 
内容文件的类型
如: image/gif
       image/jpeg
       image/png
 
 
header*
 
 
不同的head设置,定义输出不同的图片格式,在GD库中都有对应的image类型
 
                       imagejpeg(*)   imagegif(*)   imagepng(*) ……
 
 
2imageline imagesetpixel 函数
 
imageline 画线函数 
       imageline ( resource image, int x1, int y1, int x2, int y2, int color )
             
             image:图片对象
             x1,y1:线的起始坐标
             x2,y2:线的结束坐标
            color:颜色
 
 
imagesetpixel 画点函数
  imagesetpixel ( resource image, int x, int y, int color )
   
   image:图片
   x,y:点的坐标
   color:点的颜色
 
 
3imagettftext函数调用字体写入文字
  
     imagettftext 带字体的写入函数
 
    imagettftext ( resource image, float size, float angle, int x, int y, int color, string fontfile, string text )
 
image:图片
size:字体大小
angel:倾斜度,围绕x轴旋转
x,y,开始位置
color:颜色
fontfile:字体文件目录
text:显示的内容
 
 
4PHP验证码插入中文的方法
 
    iconv("gb2312","UTF-8","新年快乐!"); //首先要将文字转换成UTF8格式
 
    然后使用imagettftext  调用一种字体,再将转换好的UTF8格式的中文
写入图片中!
 
 

 

<?Php
   //开启session
   session_start();

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

          $rand.=dechex(rand(1,15);

      }
     //把验证码存入session的pic变量中
     $_SESSION[pic]=$rand;

     //创建一个100*30的图片
     $im=imagecreatetruecolor(100,30);

  //设置颜色
   $bg=imagecolorallocate($im,0,0,0);//第一次用调色板的时候,是背景颜色
  //文字颜色
  $tc=imagecolorallocate($im,255,255,255);

//画线条
   for($i=0;$<3;$i++){ 
         $tc=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
         imageline($im,rand(0,80),rand(0,20),rand(0,80),rand(0,20),$tc);
                                }

     //噪点
    for($i=0;i<300;i++){

         imagesetpixel($im,rand(0,100),rand(3,30),$tc);   

                                 }



  $str=iconv("gb2312","UTF-8","新年快乐!"); //首先要将文字转换成UTF8格式 
//写入中文
//载入字体,把字体copy到项目中(根目录下)
imagettftext ($im,12,0,20,20,$tc,'simhe1.ttr',$str);


//写入英文
//把字符串写在图像
//imagestring($im,rand(1,6),0,0,$rand,$tc)  


//输出图片
     header("Content-type:image/jpge"):      注意一致性
     imagejpeg($im);

?>

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
相关标签: PHP