PHP 并不僅限于創(chuàng)建 HTML 輸出, 它也可以創(chuàng)建和處理包括 GIF, PNG, JPEG, WBMP 以及 XPM 在內(nèi)的多種格式的圖像。 更加方便的是,PHP 可以直接將圖像數(shù)據(jù)流輸出到瀏覽器。 要想在 PHP 中使用圖像處理功能,你需要連帶 GD 庫一起來編譯 PHP。 GD 庫和 PHP 可能需要其他的庫, 這取決于你要處理的圖像格式。
你可以使用 PHP 中的圖像函數(shù)來獲取下列格式圖像的大小: JPEG, GIF, PNG, SWF, TIFF 和 JPEG2000。
如果聯(lián)合 exif 擴展 一起使用, 你可以操作存儲在 JPEG 和 TIFF 圖像文件頭部的信息, 這樣就就可以獲取數(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)的讀取/寫入支持的可用性。
格式 | 支持讀取 | 支持寫入 | 備注 |
---|---|---|---|
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ù), 更多信息請參考 “安裝” 一章。