Criando Imagens com PHP - Parte 1
abril 1, 2008 – 12:19 amIsso é sério?
Sim, é possível criar imagens com apenas o PHP. Basta ter a biblioteca GD instalada no PHP do seu servidor. Pode-se fazer coisas incríveis utilizando as funções que a biblioteca GD disponibiliza. Uma delas é aquele sistema típico de imagem de verificação em formulários.
Iniciando
O código que apresento é o pontapé inicial para nosso desenvolvimento:
<?php
//diz ao servidor que isto é do tipo mime image/gif
header("Content-type:image/gif");
// cria uma imagem com 200 de largura e 200 de altura
$img = imagecreate(200,200);
//deixo o fundo com a cor azul
$azul = imagecolorallocate($img,0,0,255);
//faço a imagem ser impressa em vídeo
imagegif($img);
//retiro a imagem da memoria
imagedestroy($img);
?>
O resultado é uma imagem inteira azul. Ver exemplo aqui.
Inserindo Texto na Imagem
<?php
header("Content-type:image/gif");
$img = imagecreate(200,200);
$azul = imagecolorallocate($img,0,0,255);
//defino algumas outras cores
$branco = imagecolorallocate($img,255,255,255);
$verde = imagecolorallocate($img,0,255,0);
//escrevendo www.JONASRUTH.com.br em branco
//IMPORTANTE: Neste exemplo copie o arquivo de fonte para a mesma pasta que este arquivo
imagettftext($img,10,0,5,15,$branco,"Arial.ttf","www.JONASRUTH.com.br");
//isso também funcionaria, mas agora em verde!
$meuTexto = "www.JONASRUTH.com.br";
imagettftext($img,10,0,5,40,$verde,"Arial.ttf",$meuTexto);
imagegif($img);
imagedestroy($img);
?>
Agora o resultado é a uma imagem com textos. Ver exemplo aqui.
Para criar imagens JPEG basta alterar o header(”Content-type:image/gif”) para header(”Content-type:image/jpeg”) e o imagegif($img) para imagejpeg($img);
Testando
Para testar este exercício adicione esta imagem a uma pagina HTML assim: <img src="http://www.seuservidor.com.br/criando-imagens-com-php.php" />. Ou diretamente, abrindo o arquivo no seu navegador WEB. Naturalmente o servidor onde o arquivo PHP está necessita ter suporte à linguagem.
Baixe aqui os arquivos-fonte finais.
Caso necessite, no site do PHP (php.net) pode-se encontrar a descrição das funções utilizadas neste tutorial.
Fique atento para a Parte 2 deste artigo. Breve.
E a vida segue. Abraço!
-Jonas Ruth















