Back to top

Autore Topic: script per testo variabile  (Letto 906 volte)

Offline virgus

  • Nuovo arrivato
  • *
  • Post: 39
    • Mostra profilo
script per testo variabile
« il: 12 Nov 2010, 19:36:00 »
Salve di nuovo ragazzi :)

sono riuscito a realizzare un script che mi stampa su un'immagine di sfondo, il testo contenente i dati inviati da un form dopo che ha trasformato anche esso in un'immagine!

solamente vorrei che qualcuno di voi mi consigliasse uno script che tenga conto della variabilità della lunghezza delle parole che possono essere immesse e che quindi anche se un utente inserisce una parola corta o una lunga la frase rimane al posto suo.

ecco il codice:

Codice: [Seleziona]
<?
$nome=$_POST["nome"];
$grado=$_POST["grado"];
$officiante=$_POST["officiante"];
$diobat=$_POST["diobat"];
$arcibat=$_POST["arcibat"];
$databat=$_POST["databat"];
$riga1="Il nuovo fedele dell'Altissimo chiamato";
$riga2= $nome;
$riga3= "ha ricevuto il sacramento del battesimo,";
$riga4= "dal $grado $officiante";
$riga5= "nella diocesi di $diobat,";
$riga6= "arcidiocesi di $arcibat,";
$riga7= "in data $databat.";

// Intestazione per la creazione di un'immagine jpeg
header("Content-type: image/jpeg");

$immagine = imagecreatefromjpeg("1zgdi07.jpg");

// Creazione del colore del testo dell'immagine
$ctesto = imagecolorallocate($immagine, 0, 0, 0);

$font = 'CloisterBlack.ttf';
// parametri: nome immagine, dimensione font, inclinazione, posx, posy, colore testo, font, testo
imagettftext($immagine, 16, 0, 100, 360, $ctesto, $font, $riga1);
imagettftext($immagine, 16, 0, 230, 390, $ctesto, $font, $riga2);
imagettftext($immagine, 16, 0, 110, 420, $ctesto, $font, $riga3);
imagettftext($immagine, 16, 0, 150, 450, $ctesto, $font, $riga4);
imagettftext($immagine, 16, 0, 50, 480, $ctesto, $font, $riga5);
imagettftext($immagine, 16, 0, 280, 480, $ctesto, $font, $riga6);
imagettftext($immagine, 16, 0, 180, 510, $ctesto, $font, $riga7);

// Stampa a video dell'immagine
imagejpeg($immagine);

// Distruzione dell'oggetto image
imagedestroy($immagine);
?>

come vedete le coordinate non mi danno questa sicurezza perchè se un utente inserisce una parola corta magari mi rimane troppo spazio con la prima parola della frase di fianco, se ne inserisce una troppo lunga magari mi si sovrappone con la prima parola della frase di fianco.

Spero di essermi spiegato bene  :shy:

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:script per testo variabile
« Risposta #1 il: 16 Nov 2010, 22:36:45 »
ciao,
 prova ad usare imagefontwidth per stimare la lunghezza della stringa.

mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

 



Web Design Bolzano Kreatif