GD函式庫的函數
1,imagecreatetruecolor -----建立真彩色的圖片
imagecreatetruecolor(int x_size,int y_size) //x表示寬,y表示高
2,imagecolorallocate 為一幅影像分配顏色(調色板)
imagecolorallocate(resource image,int red,int green,int blue)//red,green,blue----三原色
3,imagestring 繪圖函數
iamgestring( resource image,font,int x,int y,內容,顏色);
4,輸出函數
php的header是定義頭的動作,php5中支援3中型別:
1,Content-type :xxxx/yyyy
2,Location:xxxx:yyyy/zzzz
3,Status:nnn xxxxxx
xxxx/yyyy表示內容檔案的類型
如:image/gif
image/jpeg
image/png
範例:header("Content-type:image/jpeg")
GD庫中有對應的image型別
imagejpeg(),imagegif(),imagepang()
5,imageline畫線函數
iamgeline(resource image,int x1,int y1,int x2,int y2,int color);
image ---圖片
x1 ---啟始座標
y1
x2 ---終點座標
y2
6,imagesetpixel畫點函數
imagesetpixel(resource image,int x,int y,int color)
7,getget的寫入函數
imagettftext(resource image,float size,float angle,int x,int y,int color,string fontfile,string text)
8,php驗證碼插入中文的方法
iconv( "gb2312","utf-8","字串"); //首先要將文字轉換成utf-8格式
9,隨機函數
1,rand([int min,int max]) //rand(1,4) 產生1-4的數
2, dechex(十進位數) //轉換為十六進位
做驗證碼的步驟:
產生隨機數-- 創建圖片-- 隨機數寫成圖片--保存在session中
輸入驗證碼範例
gdchek.php
複製程式碼 程式碼如下:
/*
* 產生圖片驗證碼
* and open the template in the editor.
*/
session_start();
for($i=0;$i$rand.=dechex(rand(1,15)); //產生4位數包含十六進位的隨機數
}
$_SESSION[check_gd]=$rand;
$img=imagecreatetruecolor(100,30); //建立圖片
$bg=imagecolorallocate($img,0,0,0); / /第一次產生的是背景顏色
$fc=imagecolorallocate($img,255,255,255); //產生的字型顏色
//給圖片畫線
for($i=0;$i $te=imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));
imageline($img,rand(0,15),0,100 ,30,$te);
}
//給圖片畫點
for($i=0;$i$te=imagecolorallocate($img, rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($img,rand()%100,rand()%30,$te);
}
//首先要將文字轉換成utf-8格式
//$str=iconv("gb2312","utf-8","呵呵呵");
//加入中文的驗證
//smkai .ttf是字體文件,為了在別人的電腦中也能起到字體作用,把文件放到專案的根目錄,可以下載,還有本機C:WINDOWSFonts中有
imagettftext($img,11 ,10,20,20,$fc,"simkai.ttf","你好你好");
//把字串寫在圖片中
//imagestring($img,rand(1, 6),rand(3,70),rand(3,16),$rand,$fc);
//輸出圖片
header("Content-type:image/jpeg");
imagejpeg($img);
?>
複製程式碼 程式碼🎜>
/*