PHP開發驗證碼教學之添加內容

在上節內容中我們已經製作好了一個畫布

下面我們把分配的顏色改成白色,程式碼如下:

<?php
    //第一步 创建一个画布
    $image = imagecreatetruecolor(100, 30); //创建一个宽为100高为30的黑色图像
    $bgcolor = imagecolorallocate($image, 255, 255, 255); //为图像分配颜色
    imagefill($image,0,0,$bgcolor); //给黑色的背景图像分配白色

    //输出图像
    header("content-type:image/png");
    imagepng($image);

    //销毁资源
    imagedestroy($img);

?>

接下來我們要加入內容了,例如增加4個隨機數字

那麼我們就要用迴圈來運算了

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

        //先設定下字體的大小

#        $fontsize = 6 ;

      imagecolorallocate($image,rand(1,120),rand(1,120),rand(1,120));

        // 設定內容是一個0-9的隨機數

##  0,9);

        //接下來我們將文字填入畫布上,但是填入什麼位置呢,所以我們要設定座標


        $x = ($

       i*100/4)+rand(5,10);

        $y = rand(5,10);


        imagestring($image,$fontsize,$x,$y,$content,$x,$content,$x,$ $fontcolor);

}

這樣我們就在畫布上填入了0-9的數字了,完整程式碼如下:

<?php
    //第一步 创建一个画布
    $image = imagecreatetruecolor(100, 30); //创建一个宽为100高为30的黑色图像
    $bgcolor = imagecolorallocate($image, 255, 255, 255); //为图像分配颜色
    imagefill($image,0,0,$bgcolor); //给黑色的背景图像分配白色
    

    //第二步,在这个图像上实现数字
    for($i=0;$i<4;$i++){
        $fontsize = 6; //字体大小

        $fontcolor = imagecolorallocate($image,rand(1,120),rand(1,120),rand(1,120));
        //设置字体的颜色  颜色我们给一个随机的值,画布为白色,0到120之间,颜色为深色
        $fontcontent = rand(0,9); //设置内容是一个随机数

        //现在需要把这个随机数添加到画布上去
        $x = ($i*100/4)+rand(5,10);
        $y = rand(5,10);
        imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
    }
    //输出图像
    header("content-type:image/png");
    imagepng($image);

    //销毁资源
    imagedestroy($img);

?>

繼續學習
||
<?php //第一步 创建一个画布 $image = imagecreatetruecolor(100, 30); //创建一个宽为100高为30的黑色图像 $bgcolor = imagecolorallocate($image, 255, 255, 255); //为图像分配颜色 imagefill($image,0,0,$bgcolor); //给黑色的背景图像分配白色 //第二步,在这个图像上实现数字 for($i=0;$i<4;$i++){ $fontsize = 6; //字体大小 $fontcolor = imagecolorallocate($image,rand(1,120),rand(1,120),rand(1,120)); //设置字体的颜色 颜色我们给一个随机的值,画布为白色,0到120之间,颜色为深色 $fontcontent = rand(0,9); //设置内容是一个随机数 //现在需要把这个随机数添加到画布上去 $x = ($i*100/4)+rand(5,10); $y = rand(5,10); imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor); } //输出图像 header("content-type:image/png"); imagepng($image); //销毁资源 imagedestroy($img); ?>