簡介

PHP 并不僅限于創(chuàng)建 HTML 輸出, 它也可以創(chuàng)建和處理包括 GIF, PNG, JPEG, WBMP 以及 XPM 在內(nèi)的多種格式的圖像。 更加方便的是,PHP 可以直接將圖像數(shù)據(jù)流輸出到瀏覽器。 要想在 PHP 中使用圖像處理功能,你需要連帶 GD 庫一起來編譯 PHP。 GD 庫和 PHP 可能需要其他的庫, 這取決于你要處理的圖像格式。

你可以使用 PHP 中的圖像函數(shù)來獲取下列格式圖像的大?。? JPEG, GIFPNG, SWF, TIFFJPEG2000。

如果聯(lián)合 exif 擴展 一起使用, 你可以操作存儲在 JPEGTIFF 圖像文件頭部的信息, 這樣就就可以獲取數(shù)碼相機所產(chǎn)生的元數(shù)據(jù)。 exif 相關(guān)的函數(shù)不需要 GD 庫亦可使用。

注意: 關(guān)于如何擴展圖像處理能力,例如讀取、寫入以及修改, 請參考“需求”一節(jié)。 要想讀取數(shù)碼相機拍攝的圖片的元數(shù)據(jù), 你需要上面提到的 exif 擴展。

注意: getimagesize() 函數(shù)不需要 GD 擴展庫。

警告

由于綁定的 GD 庫使用 Zend 內(nèi)存管理機制來分配內(nèi)存, 所以所使用的內(nèi)存大小不受 memory_limit 配置參數(shù)限制。

GD 庫支持多種圖像格式, 下標(biāo)所列的是 GD 所支持的格式,請注意備圖像格式對應(yīng)的讀取/寫入支持的可用性。

GD 所支持的格式
格式 支持讀取 支持寫入 備注
JPEG true true  
PNG true true  
GIF true true  
XBM true true  
XPM true false  
WBMP true true  
WebP true true  
BMP true true 從 GD 2.1.0 及 PHP 7.2.0 開始支持

很遺憾的是,雖然上表中顯示大部分圖像格式都是支持讀取和寫入的, 但是不代表你的 PHP 環(huán)境在編譯的時候是支持這些操作的。 要想檢測 GD 庫所支持的格式,請使用 gd_info() 函數(shù), 更多信息請參考 “安裝” 一章。