O PHP não esta 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, jpg, wbmp, e xpm. E ainda mais convenietemente, o PHP pode enviar streams de saída de imagem diratamente para o browser. Você precisará compilar o PHP com a biblioteca GD de imagens de funções para isto funcionar. O PHP e GD também podem requerer outras bibliotecas, dependendo dos formatos de imagens com os quais você queira trabalhar.
Você pode usar as funções de imagem no PHP para obter o tamanho de imagens JPEG, GIF, PNG, SWF, TIFF and JPEG2000.
Nota: Leia a seção sobre requerimentos sobre como expandir as capacidades de imagem para ler, escrever e modificar imagens e para ler meta dados de fotos tiradas por cameras digitais.
Se você tiver a biblioteca GD (disponível em http://www.boutell.com/gd/) você poderá também criar e manipular imagens.
O formato das imagens que você pode manipilar dependem da versão da GD que você instalou, e de quaisquer outras bibliotecas que o GD possa precisar para acessar estes formatos de imagens. Versões do GD anteriores a gd-1.6 suportam imagens GIF, e não suportam PNG, enquanto versões posteriores a gd-1.6 suportam PNG, não GIF.
Nota: Apartir do PHP 4.3 existe uma versão empacotada da biblioteca GD. Esta versão empacotada tem algumas melhorias como alpha blending, e deve ser usada em preferência da biblioteca externa, já que seu código-fonte é melhor mantido e mais estável.
Você pode querer melhorar o GD para manipular mais formatos de imagens.
Tabela 1. Formatos de imagens suportados
Formato da imagens | Biblioteca para baixar | Notas |
---|---|---|
gif | Suportado apenas em versões do GD anteriores a gd-1.6. Suporte Apenas para leitura esta disponível com o PHP 4.3.0 e a biblioteca GD empacotada. Suporte para Escrita esta disponível desde o PHP 4.3.9 e PHP 5.0.1. | |
jpeg-6b | ftp://ftp.uu.net/graphics/jpeg/ | |
png | http://www.libpng.org/pub/png/libpng.html | Apenas suportados em versões do GD maiores do que gd-1.6. |
xpm | ftp://metalab.unc.edu/pub/Linux/libs/X/!INDEX.html | É provavel que você já tenha esta biblioteca disponível, se o seu sistema tiver um ambiênte X instalado. |
Voce pode querer melhorar o GD para lidar com fontes diferentes. As seguintes bibliotecas de fontes são suportadas:
Tabela 2. Bibliotes de fontes suportadas
Biblioteca de fonte | Download | Notas |
---|---|---|
FreeType 1.x | http://www.freetype.org/ | |
FreeType 2 | http://www.freetype.org/ | |
T1lib | ftp://sunsite.unc.edu/pub/Linux/libs/graphics/) | Suporte para fontes Type 1. |
Se você tiver o PHP compilado com --enable-exif você poderá trabalhar com as informações guardadas nos cabeçalhos de imagens JPEG e TIFF. Deste jeito você poderá ler meta dados gerados por cameras digitais como mencionado acia. Estas funções não precisam da biblioteca GD.
Para ativar suporte ao GD, configure o PHP com --with-gd[=DIR], aonde DIR é o diretório de instalação. Para usar a versão recomendada da biblioteca GD que acompanha o PHP (a qual foi embutida pela primeira vez no PHP 4.3.0), use a opção de configuração --with-gd.
No Windows, você irá incluir a DLL do GD2 php_gd2.dll como uma extensão no php.ini. A DLL GD1 php_gd.dll foi removida a partir do PHP 4.3.2. Também note que as funções de imagens truecolor, como imagecreatetruecolor(), requerem GD2.
Nota: Para ativar o suporte a exif no Windows, php_mbstring.dll deve ser carregada antes de php_exif.dll no php.ini.
Para desabilitar o suporte ao GD no PHP 3 adicione --without-gd na sua linha de configuração.
Melhore as capacidades do GD para manipular mais formatos de imagens especificando a opção --with-XXXX na sua linha de configuração do PHP.
Tabela 3. Formatos de imagens suportados
Formato de Imagem | Opção de Configuração |
---|---|
jpeg-6b | Para ativar suporte a jpeg-6b adicione --with-jpeg-dir=DIR. |
png | Para ativar suporte para png adicione --with-png-dir=DIR. Note que, libpng precisa de zlib library, portanto adicione a opção --with-zlib-dir[=DIR] na sua linha de configuração. |
xpm | Para ativar suporte a xpm adicione --with-xpm-dir=DIR. Se o configure não for capaz de encontrar as bibliotecas necessárias, você deverá adicionar o caminho até as suas bibliotecas X11. |
Nota: Ao compilar o PHP com a libpng, você deve usar a mesma versão que foi ligada com a biblioteca GD.
Melhore as capacidades do GD para lidar com fontes diferentes especificando a opção de configuração --with-XXXX na linha de configuração do PHP.
Tabela 4. Bibliotecas de Fontes Suportadas
Biblioteca de Fonte | Opção de Configuração |
---|---|
FreeType 1.x | Para ativar suporte a FreeType 1.x adicione --with-ttf[=DIR]. |
FreeType 2 | Para ativar suporte a FreeType 2 adicione --with-freetype-dir=DIR. |
T1lib | Para ativar suporte a T1lib (Type 1 fonts) adicione --with-t1lib[=DIR]. |
Native TrueType string function | Para ativar suporte a native TrueType string function adicione --enable-gd-native-ttf. |
Não existem configurações especificas para imagens, mas você pode estar interresado nas diretivas da extensão exif.
Esta extensão não possui nenhum tipo resource.
As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.