imagefttext

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imagefttextEscreve texto em uma imagem usando fontes FreeType 2

Descrição

imagefttext(
    GdImage $image,
    float $size,
    float $angle,
    int $x,
    int $y,
    int $color,
    string $font_filename,
    string $text,
    array $options = []
): array|false

Note:

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().

Parâmetros

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

Índices de array possíveis para options
Chave Tipo Significado
linespacing float Define espaçamento entre linhas

Valor Retornado

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.

Registro de Alterações

Versão Descrição
8.0.0 O parâmetro image agora espera uma instância de GdImage; anteriormente, um resource gd válido era esperado.

Exemplos

Example #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);
?>

Notas

Note: Esta função só estará disponível se o PHP for compilado com suporte ao freetype (--with-freetype-dir=DIR).

Veja Também

  • imageftbbox() - Fornece a caixa limite de um texto usando fontes via freetype2
  • imagettftext() - Escreve texto na imagem usando fontes TrueType