Calcola e restituisce, in pixel o punti, il rettangolo di selezione di un testo disegnato con la funzione
imagettftext()
L'array restituito è di otto elementi, per le coordinate x,y del rettangolo che racchiude il testo.
Gli elementi della matrice sono disposti come mostrato nella tabella seguente.
0: in basso a sinistra, posizione x 1: in basso a sinistra, posizione y
2: in basso a destra, posizione x 3: in basso a destra, posizione y
4: in alto a destra, posizione x 5: alto a destra, posizione y
6: in alto a sinistra, posizione x 7: in alto a sinistra, posizione y
array
imagettfbbox ( float $size , float $angle , string $fontfile , string $text )
Parametri
$size: Dimensione del carattere.
In GD 1, questa viene misurata in pixel. In GD 2, questa viene misurata in punti.
angle: Angolo di rotazione del testo espresso in gradi.
$fontfile: nome del file di font TrueType (compresa eventuale URL).
$text: Stringa della quale verranno rese le coordinate delimitanti.
Questa funzione è adatta quando occorre creare un'immagine che contenga perfettamente il testo nelle sue dimensioni, ad es. quando si desidera utilizzare font con dimensioni ed obliquità non standard.
Il carattere usato è arial.ttf che si trova nella sotto cartella font.
Free Software Foundation https://fsfe.org/index.it.html ha una serie di font gratuiti scaricabili dal loro sito.
<?php
// parametri della stringa
$FontDim = 25; // Dimensione font
$Angolo = 45;
$FontNome = 'font/arial.ttf';
$Testo = 'esempio di immagine creata per questo testo';
// Recupera riquadro di selezione
$Vertici =
imagettfbbox($FontDim, $Angolo, $FontNome, $Testo);
// Determina larghezza e altezza in valori assoluti
$Imma_larga = abs($Vertici[4] - $Vertici[0]);
$Imma_alta = abs($Vertici[5] - $Vertici[1]);
// Crea immagine con sfondo nero
$Immagine =
imagecreatetruecolor($Imma_larga + $FontDim*1.5, $Imma_alta);
$Bianco =
imagecolorallocate($Immagine, 255, 255, 255); // colore del testo
// Punto x,y inizio stringa
// occorre tenere presente che in obliquo le dimensioni necessarie aumentano
// in rapporto alle dimensioni ed al tipo di font
$x = $FontDim/2; $y = $Imma_alta;
// scrive la stringa di testo
imagettftext($Immagine, $FontDim, $Angolo, $x, $y, $Bianco, $FontNome, $Testo);
header('Content-type: image/jpeg');
imagejpeg($Immagine,"NomeFile.jpg");//salva
imagejpeg($Immagine);// al browser
imagedestroy($Immagine); // libera memoria
?>
Risultato: