首頁 > php教程 > php手册 > 主體

PHP圖形操作之生成影像驗證碼

WBOY
發布: 2016-10-20 10:09:13
原創
1441 人瀏覽過

簡單的驗證碼其實就是在圖片中輸出了幾個字符,透過imagestring函數就能實現。

但是在處理上,為了使驗證碼更加的安全,防止其他程式自動識別,因此常常需要對驗證碼進行一些幹擾處理,通常會採用繪製一些噪點,幹擾線段,對輸出的字元進行傾斜、扭曲等操作。

可以使用imagesetpixel繪製點來實現雜訊幹擾,但是只繪製一個點的作用不大,因此這裡常常會使用循環進行隨機繪製。

<br>例子:
登入後複製

$img = imagecreatetruecolor(100, 40);
$black = imagecolorallocate($img, 0x00, 0x00, 0x00);
$green = imagecolor. = imagecolorallocate($img, 0xFF, 0xFF, 0xFF);
imagefill($img,0,0,$white);
//產生隨機的驗證碼
$code = '';
for($i = 0; $i < 4; $i++) {  //4位數的驗證碼
$code .= rand(0, 9);
}
imagestring($img, 5, 10, 10, $code, $black);

//加入雜訊幹擾
for($i=0;$i<50;$i++) {
imagesetpixel($img, rand(0, 100) , rand(0, 100) , $rand ); (0, 100) , $green);}
//輸出驗證碼header("content-type: image/png");imagepng($img);  //以PNG 格式將映像輸出到瀏覽器或檔案
imagedestroy($img);  //影像處理完成後,使用imagedestroy() 指令銷毀影像資源以釋放內存,雖然該函數不是必須的,但使用它是一個好習慣。 ?>

<br><br><br>
登入後複製
<br><br><br>

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!