Utilizzo di cookies
Script GD libray con PHP Modelli Creare immagine Colore e trasparenza Disegnare Pennelli Misurare Filtri Testo Copy Salvare Miscellanea
GD library con PHP
imagettfbbox() rettengolo delimitante
legge XY dei vertici del poligono contenitore del testo


e-book
cartaceo
imagettfbbox() rettengolo delimitante
Dimensione font: Inclinazione: Testo:
Cambiare i valori e premere
imagettfbbox rettengolo delimitante dinamico
Scritta una stringa di testo, anche in obliquo, e su di essa con i dati ricevuti dalla funzione  imagettfbbox() è costruito un rettangolo delimitante la stringa stampata.


Nell'immagine risultante viene disegnato il rettangolo ed i valori x,y dei vertici.


<?php
// crea immagine
$Immagine = imagecreatetruecolor(400, 350);


// colori
$Bianco = imagecolorallocate($Immagine, 255, 255, 255);
$Viola = imagecolorallocate($Immagine, 255, 0, 255);


// parametri per la scrittura della stringa 
$FontDim = 50;// Dimensione font
$Angolo = 45;// rotazione in gradi
$x = 120; $y = 300; // inizio scrittura del testo
$FontNome = 'font/arial.ttf';
$Testo = 'Amanda'; // testo da scrivere


//scrive la stringa di testo
imagettftext($Immagine, $FontDim, $Angolo, $x, $y, $Bianco, $FontNome, $Testo);


// Recupera riquadro di selezione
$Vertici = imagettfbbox($FontDim, $Angolo, $FontNome, $Testo);


// vertici del rettangolo delimitante il testo
for($i=0; $i<7; $i+=2){
$Vertici[$i] += $x;
$Vertici[$i+1] += $y;
}


// scrive i valori x,y dei vertici
imagestring($Immagine, 3, $Vertici[0], $Vertici[1], "x=".$Vertici[0].",y=".$Vertici[1], $Bianco);
imagestring($Immagine, 3, $Vertici[2], $Vertici[3], "x=".$Vertici[2].",y=".$Vertici[3], $Bianco);
imagestring($Immagine, 3, $Vertici[4], $Vertici[5]-15, "x=".$Vertici[4].",y=".$Vertici[5], $Bianco);
imagestring($Immagine, 3, $Vertici[6]-65, $Vertici[7]-15, "x=".$Vertici[6].",y=".$Vertici[7], $Bianco);


// Versioni PHP e GD
$Versioni = 'PHP '.phpversion();
imagestring($Immagine, 2, 10, 10, $Versioni, $Bianco);
$gdinfo = gd_info();
$Versioni = 'GD '.$gdinfo['GD Version'];
imagestring($Immagine, 2, 10, 20, $Versioni, $Bianco);


// disegna il poligono
imagepolygon($Immagine, array(
$Vertici[0], $Vertici[1], $Vertici[2], $Vertici[3],
$Vertici[4], $Vertici[5], $Vertici[6], $Vertici[7],
$Vertici[0], $Vertici[1], $Vertici[6], $Vertici[7]
),6,$Viola);


header('Content-type: image/jpeg');
imagejpeg($Immagine); // al browser
imagejpeg($Immagine,"NomeFile.jpg"); // salva
imagedestroy($Immagine); // libera memoria
?> Risultato: