Escrevendo sobre uma imagem com PHP

Nesse artigo, vamos aprender a escrever sobre uma imagem com o PHP. Antes de mais nada, certifique-se que a biblioteca GD esteja ativada, para isso vá no arquivo “php.ini” e procure pela seguinte linha:

;extension=php_gd2.dll

Caso ela esteja com o ; (ponto e vírgula), como acima, retire-o, deixando assim:

extension=php_gd2.dll

Clique aqui para fazer o download dos arquivos
Lembrando que os arquivos (fonte e imagem) serão necessários para o funcionamento do script.

Com a extensão GD ativada e os arquivos baixados, vamos criar nossa imagem:

<?php
// Define o header como sendo de imagem
header("Content-type: image/jpeg");

// Cria a imagem a partir de uma imagem jpeg
$i = imagecreatefromjpeg("elephpant.jpg");
?>

Bom, aqui nós definimos que o conteúdo da página será uma imagem, através do header, e também “criamos” uma imagem a partir de uma que já existe.

Agora que já criada a imagem, vamos escrever nela:

<?php
// Define o header como sendo de imagem
header("Content-type: image/jpeg");

// Cria a imagem a partir de uma imagem jpeg
$i = imagecreatefromjpeg("elephpant.jpg");

// Definições
$preto = imagecolorallocate($i, 0,0,0); # Cor preta
$texto = "faael webmaster"; # Texto a ser escrito
$fonte = "trebuc.ttf"; # Fonte que será utilizada

// Escreve na imagem
imagettftext($i, 32, 0, 160,360,$preto,$fonte,$texto);
?>

Definimos a cor preta (RGB, ou seja, 0,0,0;), logo após o texto a ser escrito e depois a fonte que será utilizada para escrever nosso texto (Lembrando que “trebuc.ttf” é o arquivo da fonte Trebuchet MS).

E finalmente, utilizamos a função imagettftext() que recebe como parâmetros, respectivamente, a imagem, tamanho da fonte, ângulo do texto, posição horizontal do texto – em pixels, posição vertical do texto – em pixels, cor do texto, fonte do texto e o texto.

E agora para finalizar, devemos fechar com mais duas funções, deixando nosso código da seguinte maneira:

<?php
// Define o header como sendo de imagem
header("Content-type: image/jpeg");

// Cria a imagem a partir de uma imagem jpeg
$i = imagecreatefromjpeg("elephpant.jpg");

// Definições
$preto = imagecolorallocate($i, 0,0,0); # Cor preta
$texto = "faael webmaster"; # Texto a ser escrito
$fonte = "trebuc.ttf"; # Fonte que será utilizada

// Escreve na imagem
imagettftext($i, 32, 0, 160,360,$preto,$fonte,$texto);

// Gera a imagem na tela
imagejpeg($i);

// Destroi a imagem para liberar memória
imagedestroy($i);
?>

Pronto, escrevemos em nossa imagem 🙂
Espero que esse artigo tenha sido interessante para você, até mais.