Introdução
O PHP não está limitado a criar apenas saída em HTML. Ele também pode
ser usado para criar e manipular arquivos de imagem em uma diversidade de
formatos, incluindo GIF, PNG,
JPEG, WBMP, and XPM.
E ainda mais convenientemente, o PHP pode enviar fluxos de imagem diretamente para o navegador. É
necessário compilar o PHP com a biblioteca GD de funções de
imagens para que isto funcione. GD e o PHP podem também requerer
outras bibliotecas, dependendo de quais formatos de imagens serão trabalhados.
Pode-se usar as funções de imagem no PHP para obter o tamanho de imagens
JPEG, GIF,
PNG, SWF,
TIFF e JPEG2000.
Com a extensão exif, pode-se
trabalhar com informações armazenadas nos cabeçalhos de imagens
JPEG e TIFF. Desta forma, pode-se
ler metadados gerados por câmeras digitais. As funções exif
não requerem a biblioteca GD.
Nota:
Leia a seção de requerimentos sobre como expandir a capacidade de leitura,
escrita e modificação de imagens. Para ler metadados de fotografias tiradas
de uma câmera digital, é necessária a
extensão exif mencionada acima.
Nota:
A função getimagesize() não requqer a extensão GD.
Cuidado
Enquanto que a versão da biblioteca GD fornecida com o PHP usa o gerenciador de memória Zend
para alocar memória, as versões de sistema não o fazem, de forma que memory_limit não se aplica.
GD suporta uma diversidade de formatos. Veja abaixo uma lista de formatos suportados por GD e notas
sobre suas disponibilidades incluindo suporte a leitura/escrita.
Formatos suportados por GD
Formato |
Suporte a leitura |
Suporte a escrita |
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 |
Disponível a partir do PHP 7.2.0 |
Embora a maioria dos formatos esteja disponível para leitura e escrita na tabela acima, isto não
significa que o PHP foi compilado com suporte a eles. Para descobrir quais formatos estavam disponíveis
para o GD durante a compilação, use a função gd_info(). Para mais informação
sobre compilação de suporte a um ou mais formantos, consulte o capítulo sobre instalação.