(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)
imagefttext — Escreve texto em uma imagem usando fontes FreeType 2
$image
,$size
,$angle
,$x
,$y
,$color
,$font_filename
,$text
,$options
= []Nota:
Antes do PHP 8.0.0, imagefttext() era uma variante estendida de imagettftext() que suportava adicionalmente o parâmetro
options
. A partir do PHP 8.0.0, imagettftext() é um apelido de imagefttext().
image
Um objeto GdImage, retornado por uma das funções de criação de imagem, como imagecreatetruecolor().
size
O tamanho da fonte a ser usado, em pontos.
angle
O ângulo em graus, com 0 grau sendo a leitura da esquerda para a direita. Valores maiores representam a rotação no sentido anti-horário. Por exemplo, um valor de 90 resultaria em uma leitura de baixo para cima.
x
As coordenadas dadas por x
e y
definirão o ponto base do primeiro caractere (aproximadamente o canto inferior esquerdo do caractere. Isto é diferente de imagestring(), onde x
e y
definem o canto superior esquerdo do primeiro caractere. Por exemplo, "superior esquerdo" é 0, 0.
y
A ordenada y. Isto define a posição da linha de base da fonte, e não a parte mais baixa do caractere.
color
O índice da cor desejada para o texto, veja imagecolorexact().
font_filename
O caminho para a fonte TrueType a ser usada.
Dependendo de qual versão da biblioteca GD que o PHP estiver usando, quando font_filename
não iniciar com uma barra /
. a extensão .ttf
será anexada ao nome do arquivo e a biblioteca tentará pesquisar por este arquivo ao longo do caminho definido pela biblioteca.
Em muitos casos onde uma fonte reside no mesmo diretório que o script que está sendo executado, o truque a seguir aliviará problemas ao incluir arquivos.
<?php
//Define a variável de ambiente para GD
putenv('GDFONTPATH=' . realpath('.'));
// Nomeia a fonte a ser usada (note a falta da extensão .ttf)
$font = 'SomeFont';
?>
text
Texto a ser inserido na imagem.
options
Chave | Tipo | Significado |
---|---|---|
linespacing | float | Define espaçamento entre linhas |
Esta função retorna um array com os quatro pontos que definem os limites do texto, iniciando no canto inferior esquerdo e seguindo no sentido anti-horário:
0 | canto inferior esquerdo, posição X |
1 | canto inferior esquerdo, posição Y |
2 | canto inferior direito, posição X |
3 | canto inferior direito, posição Y |
4 | canto superior direito, posição X |
5 | canto superior direito, posição Y |
6 | canto superior esquerdo, posição X |
7 | canto superior esquerdo, posição Y |
Em caso de falha, false
é retornado.
Versão | Descrição |
---|---|
8.0.0 | O parâmetro image agora espera uma instância de GdImage; anteriormente, um resourcegd válido era esperado. |
Exemplo #1 Exemplo de imagefttext()
<?php
// Cria uma imagem 300x100
$im = imagecreatetruecolor(300, 100);
$red = imagecolorallocate($im, 0xFF, 0x00, 0x00);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);
// Deixa o fundo vermelho
imagefilledrectangle($im, 0, 0, 299, 99, $red);
// Caminho para o arquivo de fonte ttf
$font_file = './arial.ttf';
// Desenha o texto 'PHP Manual' usando fonte tamanho 13
imagefttext($im, 13, 0, 105, 55, $black, $font_file, 'PHP Manual');
// Mostr a imagem no navegador
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>
Nota: Esta função só estará disponível se o PHP for compilado com suporte ao freetype (--with-freetype-dir=DIR).