首頁 >後端開發 >PHP問題 >php畫圖功能有什麼用途

php畫圖功能有什麼用途

(*-*)浩
(*-*)浩原創
2019-09-25 14:56:503256瀏覽

在php中,使用php畫圖功能,在存取php檔案時可以出現我們繪製的影像;php畫圖功能可以套用於報表的開發、驗證碼的設計、圖片的浮水印和縮略。

php畫圖功能有什麼用途

 在介紹php畫圖功能之前,我們首先需要先了解php中的繪圖座標系:

php座標系中,座標原點位於左上角,以像素為單位。 (推薦學習:PHP程式設計從入門到精通

座標(x,y)-第一個是x座標,表示目前位置為水平方向,距離座標原點x個像素;第二個是y座標,表示目前位置為垂直方向,距離座標點y個像素。

php畫圖功能有什麼用途

特別說明:像素不是一個長度單位,而是一個密度單位。理論上,解析度越小,一個像素所佔的長度會大大一些。

php畫圖的基本原理和步驟

(1)建立畫布

(2)繪製所需的各種圖形(圓,直線,矩形,弧線,扇形...)

(3)輸出圖像到網頁,也可以另存(可以另存為網站開發常見的幾種圖片格式,基於存儲格式問題)

(4)銷毀該圖片(釋放記憶體)

下面是畫驗證碼的程式碼:

<?php
    //echo rand(2,9);
    //echo "<br/>".dechex(rand(1,15))."<br/>";
    session_start();
    $checkCode="";
    for($i=0;$i<4;$i++) {
        $checkCode.=dechex(rand(1,15));
    }
    
    //讲随机验证码保存到session中
    $_SESSION[&#39;myCheckCode&#39;]=$checkCode;
    //创建图片,并把随机数画上去
    $img=imagecreatetruecolor(110, 30);
    //背景默认就是黑色
    //你可以指定背景颜色
    $bgcolor=imagecolorallocate($img, 0, 0, 0);
    imagefill($img, 0, 0, $bgcolor);
    //创建新的颜色
    $white=imagecolorallocate($img, 255, 255, 255);
    $blue=imagecolorallocate($img, 0, 0, 255);
    $red=imagecolorallocate($img, 255, 0, 0);
    $green=imagecolorallocate($img, 0, 255, 0);
    
    //画出干扰线段
    for($i=0;$i<20;$i++) {
        //更好的方法是颜色随机
        imageline($img, rand(0,110), rand(0,30), rand(0,110), rand(0,30), 
            imagecolorallocate($img, rand(0,255), rand(0,255), rand(0,255)));
    }
    
    //画出噪点,自己画
    //for($i=0;$i<10;$i++)
    //把四个随机值画上去
    
    imagestring($img, rand(1,5), rand(2,80), rand(2,10), $checkCode, $white);
    
    //如果要使用中文
    //array imagefttext(string $font_file, string $text [,array $extrainfo)
    //imagettftext($img,15,10,20,25,$white,"STXINWET.TTF","北京你好");
    //输出
    header("content-type: image/png");
    imagepng($img);
    
?>

用於登入介面(這裡只提供部分程式碼,但是不影響理解,可刪除無關內容,直接使用)

<form action="loginProcess.php" method="post">
<table>
<tr><td>用户id</td><td><input type="text" name="id" value="<?php echo getCookieVal("id"); ?>"/></td></tr>
<tr><td>密 码</td><td><input type="password" name="password"/></td></tr>
<tr><td>验证码</td><td><input type="text" name="checkCode"/>
<img  src="checkCode.php" onClick="this.src=&#39;checkCode.php?aa=&#39;+Math.random()"/ alt="php畫圖功能有什麼用途" ></td></tr>
<tr><td colspan="2">是否保存用户id<input type="checkbox" value="yes" name="keep"></td></tr>
<tr><td><input type="submit" value="用户登录"/></td>
<td><input type="reset" value="重新填写"/></td></tr>
</table>
</form>

以上是php畫圖功能有什麼用途的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn