SymfonyWorld Online 2022 Winter Edition

简介

PHP 并不仅限于创建 HTML 输出, 它也可以创建和处理包括 GIFPNGJPEGWBMP 以及 XPM 在内的多种格式的图像。 更加方便的是,PHP 可以直接将图像数据流输出到浏览器。 要想在 PHP 中使用图像处理功能,你需要连带 GD 库一起来编译 PHP。 GD 库和 PHP 可能需要其他的库, 这取决于你要处理的图像格式。

你可以使用 PHP 中的图像函数来获取下列格式图像的大小: JPEGGIFPNGSWFTIFFJPEG2000

如果联合 exif 扩展 一起使用, 你可以操作存储在 JPEGTIFF 图像文件头部的信息, 这样就就可以获取数码相机所产生的元数据。 exif 相关的函数不需要 GD 库亦可使用。

注意: 关于如何扩展图像处理能力,例如读取、写入以及修改, 请参考“需求”一节。 要想读取数码相机拍摄的图片的元数据, 你需要上面提到的 exif 扩展

注意: getimagesize() 函数不需要 GD 扩展库。

警告

由于绑定的 GD 库使用 Zend 内存管理机制来分配内存, 所以所使用的内存大小不受 memory_limit 配置参数限制。

GD 库支持多种图像格式, 下标所列的是 GD 所支持的格式,请注意备图像格式对应的读取/写入支持的可用性。

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 环境在编译的时候是支持这些操作的。 要想检测 GD 库所支持的格式,请使用 gd_info() 函数, 更多信息请参考 “安装” 一章。

add a note

User Contributed Notes 1 note

up
-5
gamesparamundo123 at gmail dot com
2 years ago
The EXIF extension has been updated to support a much larger range of formats. This means that their format specific tags are now properly translated when parsing images with the exif_read_data() function. The following new formats are now supported:

Samsung
DJI
Panasonic
Sony
Pentax
Minolta
Sigma/Foveon
AGFA
Kyocera
Ricoh
Epson
The EXIF functions exif_read_data() and exif_thumbnail() now support passing streams as their first argument.
To Top