PHP no se limita a la generación de páginas HTML. También puede servir para crear y manipular imágenes, en una amplia variedad de formatos, como GIF, PNG, JPEG, WBMP y XPM. Además, PHP puede generar directamente imágenes para el navegador, con la biblioteca GD. GD y PHP también necesitarán otras bibliotecas, dependiendo de los formatos que se deseen utilizar.
Las funciones PHP pueden usarse para obtener las dimensiones de las imágenes en los formatos JPEG, GIF, PNG, SWF, TIFF y JPEG2000.
Con la extensión exif, se podrá trabajar con las informaciones almacenadas en los encabezados de las imágenes JPEG y TIFF. De esta manera, se podrán leer las metadatos generadas por los dispositivos digitales. Las funciones exif no requieren la biblioteca GD.
Nota: Léase la sección sobre los requisitos para saber cómo extender las capacidades de las funciones sobre imágenes para leer, escribir y modificar imágenes. Para leer las metadatos de las fotos tomadas con dispositivos digitales, se debe utilizar la extensión exif mencionada anteriormente.
Nota: La función getimagesize() no requiere la extensión GD.
Mientras que la versión empaquetada de la biblioteca GD utiliza el gestor de memoria Zend para asignar memoria, las versiones del sistema no lo hacen, por lo que memory_limit no se aplica.
GD soporta un gran número de formatos; a continuación se presenta una lista de formatos soportados por GD junto con notas que especifican la disponibilidad del soporte en lectura/escritura.
Formato | Soporte en lectura | Soporte en escritura | Notas |
---|---|---|---|
JPEG | true |
true |
|
PNG | true |
true |
|
GIF | true |
true |
|
XBM | true |
true |
|
XPM | true |
false |
|
WBMP | true |
true |
|
WebP | true |
true |
|
BMP | true |
true |
Disponible a partir de PHP 7.2.0 |
Aunque la mayoría de los formatos estén disponibles con soporte en lectura y escritura en la tabla anterior, esto no significa que PHP haya sido compilado con el soporte adecuado. Para conocer los formatos soportados por GD durante la compilación, utilícese la función gd_info(); para más información sobre el soporte durante la compilación de uno o varios formatos, consúltese el capítulo sobre la instalación.