今天寫乙個生成驗證碼的程式,就是用了剛學的gd2圖形庫,下面我就為大家分享我的步驟:
首先我們要有乙個明確的計畫:
1.gd庫的知識
建立乙個基於真彩的畫布
imagecreatetruecolor(int x_size,int y_size);
分配乙個顏色
imagecolorallocate(resource image,int red,int green,int blue);//紅綠藍
區域填充
imagefill(resource image,int x,int y,int color);
矩形框imagerectangle(resource image,int x1,int y1,int x2,int y2,int color);
畫乙個畫素點
imagesetpixel(resource image,int x,int y,int color);
畫一條線段
imageline(resource image,int x1,int y1,int x2,int y2,int color);
繪製文字內容
imagettftext(resource image,float size,float angle,int x,int y,int color,string content);
以png格式將影象輸出到瀏覽器或檔案
imagepng(resource image[,string filename]);
銷毀乙個影象
imagedestroy(resource image);
int rand([int min,int max]);//產生乙個隨機數
strlen();//獲取字串的長度
header();//設定相應頭資訊
2.實現步驟
1.建立乙個畫布
2.開始繪畫
3.輸出影象
4.銷毀(釋放記憶體)
3.具體實現步驟
整個驗證碼的實現步驟
1.先複製乙個字型檔案
2.定義乙個函式(用於隨機獲取驗證碼內容)
3.開始繪畫,繪畫驗證碼
我們的字型:c:/window/fonts,然後選擇你喜歡的字型
直接上乾貨,**注釋的比較詳細:php
<?php
//header("content-type:text/html;charset=utf-8");
header("content-type:image/png");
//繪製驗證碼
$number=4;//驗證碼的長度
$str=getcode($number,0);//獲取驗證碼
$height=30;//驗證碼的高度
$width=$number*20;
//1建立畫布
$im=imagecreate($width,$height);//影象元
//定義幾個顏色,輸出不同顏色的驗證碼
$color=imagecolorallocate($im,111,0,55);
$color=imagecolorallocate($im,0,77,0);
$color=imagecolorallocate($im,0,0,160);
$color=imagecolorallocate($im,221,111,0);
$color=imagecolorallocate($im,220,0,0);
//背景顏色(這就是顏色)
$bg=imagecolorallocate($im,200,200,200);
//2開始繪畫
imagefill($im,0,0,$bg);
//新增乙個邊框
imagerectangle($im,0,0,$width-1,$height-1,$color[rand(0,4)]);
//隨機新增一些干擾點
for($j=0;$j<200;$j++)
//隨機新增干擾線
for($i=0;$i<5;$i++)
//繪製驗證碼
for($i=0;$i
//3輸出影象
//設定響應頭資訊,影象相應
imagepng($im);
//4銷毀影象資源
imagedestroy($im);
/**定義乙個隨機生成驗證碼內容的函式
@ param $m=4 驗證碼的個數
@ param $type=0 驗證碼的型別(純數字) 1(數字加小寫字母) 2(數字加大小寫字母)
**/function getcode($m=4,$type=0)
return $c;
//echo strlen($str);
}//echo getcode(6,1);
?>
html:
<?php
//驗證碼的使用
header("content-type:text/html;charset=utf-8");
?>
結果如下:
在這裡,不同的瀏覽器可能會得到不同的效果,注意觀察
php生成驗證碼
header content type image gif 初始化 border 0 是否要邊框 1要 0不要 how 4 驗證碼位數 w how 15 寬度 h 20 高度 fontsize 5 字型大小 alpha abcdefghijkmnopqrstuvwxyz 驗證碼內容1 字母 numb...
php 生成驗證碼
驗證碼個數 num 4 驗證碼寬度 width 80 驗證碼高度 height 20 驗證碼 注意是字串 code 生成驗證碼 for i 0 i num i 驗證碼儲存到session中 session start session verifycode code 建立影象 image imagec...
php 生成驗證碼
che.php session start im imagecreatetruecolor 100,30 設定顏色 bg imagecolorallocate im,0,0,0 背景色 te imagecolorallocate im,255,255,255 字型顏色 for i 0 i 4 i 輸...