php中的gd庫,主要是提供了一組php圖形處理的函式,功能很強大,可以做出很炫的效果。在web2.0應用中,或多或少都會碰到。所以你在應聘web2.0**php工程師的時候,經常會被問到gd庫。其實,php中的gd庫函式比較簡單,你大體清楚它們的功能就可以了,我提供了幾個小例子幫助你記憶和理解。
1、 漢字驗證碼
通常的**,驗證碼都喜歡使用數字或者字元的組合的形式,但對於某些有價值的**服務中,可能需要更為嚴格的驗證碼。例如163郵箱惡意註冊驗證、qq號申請驗證都不同程度使用漢字認證。利用php的gd庫,幾行**輕鬆搞定,若果輸出漢字或者特殊字元,需要您提供ttf字型檔。
效果如下:
**如下:
<?php
//定義輸出為影象型別
header("content-type:image/gif");
//建立圖象
$picture = imagecreate(150,40);
//定義黑白顏色
$cl_black = imagecolorallocate($picture,0,0,0);
$cl_white = imagecolorallocate($picture,255,255,255);
//指定字型庫
$lib_font = "c://windows//fonts";
//定義輸出字型串,字元utf-8編碼
$str_output = chr(0xe4).chr(0xb8).chr(0xad);
//寫 ttf 文字到圖中
imagettftext($picture,20,-10,40,25,$cl_white,$lib_font,$str_output);
//定義輸出字型串,字元utf-8編碼
$str_output = chr(0xe5).chr(0x9b).chr(0xbd);
//寫ttf 文字到圖中
imagettftext($picture,20,10,80,30,$cl_white,$lib_font,$str_output);
//建立 gif 圖型
imagegif($picture);
//結束圖形,釋放記憶體空間
imagedestroy($picture);
?>
2、 縮圖
大小的轉換功能很常用,很多**都用得到。比如常見的sns**,使用者可以上傳,設定自己的頭像。由於使用者提供的大小不一,需要**在使用者上傳的時候,處理成統一大小。利用php的gd庫,幾行**輕鬆搞定。效果如下:
**如下:
<?php
//$srcfile原檔案,$dstw,$dsth是小圖的寬,高。
function makethumb($srcfile,$dstw,$dsth)
//建立縮小的
$srcw = imagesx($old_pic);
$srch = imagesy($old_pic);
$new_pic = imagecreate($dstw,$dsth);
imagecopyresized($new_pic,$old_pic,0,0,0,0,$dstw,$dsth,$srcw,$srch);
//輸出鎖小
經常有人在文字bbs貼上一些字元,感覺很酷,我們這裡提供乙個利用php的gd庫生成的例子,有興趣的同學可以研究研究。效果如下:
另外,打水印,將一幅圖嵌入到另外一幅中,也都比較容易實現,大家可以試一下。
玩轉PHP的GD庫
1 漢字驗證碼 通常的 驗證碼都喜歡使用數字或者字元的組合的形式,但對於某些有價值的 服務中,可能需要更 為嚴格的驗證碼。例如163郵箱惡意註冊驗證 qq號申請驗證都不同程度使用漢字認證。利用php的gd庫,幾行 輕鬆搞定,若果輸出漢字或者特殊字 符,需要您提供ttf字型檔。效果如下 如下 定義輸出...
PHP 解析PHP的GD庫
官方文件 php可以建立和操作多種不同格式的影象檔案。php提供了一些內建的影象資訊函式,也可以使用gd函式庫建立和處理已有的函式庫。目前gd2庫支援gif jpeg png和wbmp等格式。此外還支援一些freetype type1等字型庫。首先要在php的配置檔案 php.ini 中開啟php ...
php的gd模組 如何在PHP中開啟GD庫支援
注意 akcms已於2019年12月27日宣布停止更新,此文件僅供老使用者參考,不建議新使用者選擇akcms建站。注意 akcms6.1.2已取消授權機制,文件中關於授權 服務 技術支援等的內容均已失效。linux下開啟php的gd庫支援 開啟gd庫支援有以下幾種方法 檢測gd庫是否安裝命令 php...