玩轉PHP的GD庫

2021-06-16 22:28:03 字數 2100 閱讀 6669

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...