燕十八 公益PHP培訓 課堂地址:YY頻道88354001 學習社區:www.zixue.it
php畫圖:比如說驗證碼,縮略圖,加水印都要用到GD庫,所以要開啓gd2庫,才能用
首先找到php.ini中extension=php_gd2.dll 去掉前邊的分號,然後重啓apache,創建圖片就可以用了
- /*
- 畫圖的一般步驟:
- 1.創建畫布
- 2.創建顏料
- 3.畫圖或者寫字
- 4.保存
- 5.銷燬資源
- */
- //創建畫布
- $img=imagecreatetruecolor(300,200);
- //創建顏料
- $bg=imagecolorallocate($img,30,255,255);
- //畫布填充顏色
- imagefill($img,0,0,$bg);
- //保存圖片
- if(imagepng($img,'./01.png')){
- echo "圖片創建成功";
- }
- //銷燬圖片
- imagedestroy($img);
簡單驗證碼:
- //創建圖片
- $im = imagecreatetruecolor(50, 30);
- // 將背景設爲藍色
- $blue = imagecolorallocate($im, 100, 255, 255);
- //創建顏料
- $imgcolor=imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
- //填充背景顏色
- imagefill($im, 0, 0, $blue);
- //畫干擾線
- for($i=0;$i<4;$i++){
- imageline($im,rand(0,20),0,100,rand(0,60),$imgcolor);
- }
- //畫噪點
- for($i=0;$i<100;$i++){
- imagesetpixel($im,rand(0,50),rand(0,30),$imgcolor);
- }
- //寫字符串
- $str=substr(str_shuffle('ABCDEFGHIJKMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789'),0,4);
- imagestring($im,4,10,10,$str,$imgcolor);
- //輸出圖片
- header('content-type: image/png');
- imagepng($im);
- //銷燬圖片
- imagedestroy($im);
驗證碼注意保存格式,utf8無bom格式,只保存爲utf8的會出現亂碼
輸出隨機驗證碼爲: