Inserire testo dinamico su immagine centrato e a capo

Alberto.b

Nuovo Utente
4 Mag 2015
2
0
0
Ciao a tutti,
sto creando un piccolo generatore di meme for fun, solo per fare due risate con gli amici. Ho quindi bisogno di prendere del testo da un input e scriverlo su un'immagine base.

Il problema mi si presenta al momento di posizionare il testo sull'immagine, siccome il testo è inserito dagli utenti non posso sapere a priori da quanti caratteri è composto. Mi piacerebbe però, prima di tutto, riuscire a centrare il testo. Sarebbe anche carino riuscire, all'evenienza, far andare a capo parte del testo. Tutto questo senza sapere a priori la lunghezza della stringa.

Queste sono le operazioni che eseguo per scrivere il testo sull'immagine:

PHP:
    $text = $_GET['text'];
    
    $baseimg = imagecreatefromjpeg("img/basememe.jpg");
 
    // Nome(path) del file di Output. Sarà progressivo.
    $sFileNameOutput = "memes/20150504-1.jpg";
 
    // Scrivo il testo e la posizione. Con queste impostazioni il testo viene scritto iniziando dal corner top-left.
    imagettftext($baseimg, 23, 0, 0, 23, imagecolorallocate($baseimg, 255, 255, 255), "Verdana.ttf", strtoupper($text));
 
    // Set del colore di trasparenza
    imagecolortransparent($baseimg, 0);
 
    // Scrivo il File
    imagejpeg($baseimg,$sFileNameOutput);
 
    // Libero la memoria
    imagedestroy($baseimg);

Lo spazio utile all'interno dell'immagine in cui scrivere il testo è di 506x350px partendo dall'alto.

Spero ci sia un modo di ottenere il risultato che vorrei, io non riesco a trovarlo :confused:

Grazie per l'aiuto!
 

Discussioni simili