php 实现验证码制造

php 实现验证码制作

先给看下 大致的效果

php 实现验证码制造

那么接下来的就直接贴代码吧

<?php
    
    $image = imagecreatetruecolor(100, 30); //创建画布
    
    $imagecolor = imagecolorallocate($image, 255, 255, 255);  //背景色
    
    imagefill($image, 0, 0, $imagecolor);  //填充背景色
    
    for($i=0;$i<4;$i++ ){                  //循环4位数
        
        $fontsize = 6;
        $fontcolor = imagecolorallocate($image, rand(0, 200), rand(0, 200), rand(0, 200));
        $fontcontent = rand(0, 9);
        
        $x = $i*100/4 + rand(5, 15);
        $y = rand(5, 10);
        
        imagestring($image, $fontsize, $x, $y, $fontcontent, $fontcolor);
    }
    
    
    
    for($i=0;$i<200;$i++ ){              //循环 添加干扰点
        
        $pointcolor = imagecolorallocate($image, rand(50, 200), rand(50, 200), rand(50, 200));
        
        $x = rand(1, 99);
        $y = rand(1, 29);
        
        imagesetpixel($image, $x, $y, $pointcolor);
    }
    
    
    
    for($i=0;$i<3;$i++){                //循环 添加干扰线    
        
        $linecolor = imagecolorallocate($image, rand(100, 250), rand(100, 250), rand(100, 250));
        
        $x1 = rand(1, 25);
        $x2 = rand(50, 75);
        
        $y1 = rand(1, 15);
        $y2 = rand(15, 25);
        
        imageline($image, $x1, $y1, $x2, $y2, $linecolor);
    }
    
    
    
    header("content-type:image/png");
    
    imagepng($image);
    
    imagedestroy($image);

?>