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:
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
Grazie per l'aiuto!
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

Grazie per l'aiuto!