PHP 并不僅限于創(chuàng)建 HTML 輸出, 它也可以創(chuàng)建和處理包括 GIF, PNG, JPEG, WBMP 以及 XPM 在內(nèi)的多種格式的圖像。 更加方便的是,PHP 可以直接將圖像數(shù)據(jù)流輸出到瀏覽器。 要想在 PHP 中使用圖像處理功能,你需要連帶 GD 庫(kù)一起來(lái)編譯 PHP。 GD 庫(kù)和 PHP 可能需要其他的庫(kù), 這取決于你要處理的圖像格式。
你可以使用 PHP 中的圖像函數(shù)來(lái)獲取下列格式圖像的大?。? JPEG, GIF, PNG, SWF, TIFF 和 JPEG2000。
如果聯(lián)合 exif 擴(kuò)展 一起使用, 你可以操作存儲(chǔ)在 JPEG 和 TIFF 圖像文件頭部的信息, 這樣就就可以獲取數(shù)碼相機(jī)所產(chǎn)生的元數(shù)據(jù)。 exif 相關(guān)的函數(shù)不需要 GD 庫(kù)亦可使用。
注意: 關(guān)于如何擴(kuò)展圖像處理能力,例如讀取、寫入以及修改, 請(qǐng)參考“需求”一節(jié)。 要想讀取數(shù)碼相機(jī)拍攝的圖片的元數(shù)據(jù), 你需要上面提到的 exif 擴(kuò)展。
注意: getimagesize() 函數(shù)不需要 GD 擴(kuò)展庫(kù)。
由于綁定的 GD 庫(kù)使用 Zend 內(nèi)存管理機(jī)制來(lái)分配內(nèi)存, 所以所使用的內(nèi)存大小不受 memory_limit 配置參數(shù)限制。
GD 庫(kù)支持多種圖像格式, 下標(biāo)所列的是 GD 所支持的格式,請(qǐng)注意備圖像格式對(duì)應(yīng)的讀取/寫入支持的可用性。
格式 | 支持讀取 | 支持寫入 | 備注 |
---|---|---|---|
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)境在編譯的時(shí)候是支持這些操作的。 要想檢測(cè) GD 庫(kù)所支持的格式,請(qǐng)使用 gd_info() 函數(shù), 更多信息請(qǐng)參考 “安裝” 一章。