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.

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

Grazie per l'aiuto!
 

filomeni

Moderatore
Membro dello Staff
MOD
14 Mag 2006
1.052
6
38
50
Roseto degli Abruzzi (TE)
www.sitiweb.cloud
Ciao, per andare a capo, puoi gestire con diversi campi input assegnando ad ogni input un maxlength, quindi esempio metti tre input corrispondenti a tre righe, calcoli in base alla dimensione del font quanti caratteri entrano in una riga e stabilisci il maxlength per il campo input.
Per centrare il testo prova così:
PHP:
$textcol = imagecolorallocate($ima,107,105,108);
imagettftext($baseimg,24,0,$Width-$x,$Height-$y,$textcol,$font,$frase);
per gestire la posizione della scritta $x e $y in pixel e $Width/$Height sono la dimensione dell'immagine basememe.jpg
 
Discussioni simili
Autore Titolo Forum Risposte Data
A Inserire testo dinamico su immagine centrato e a capo PHP 0
Shyson [PHP] Inserire testo nel codice PHP 2
F INSERIRE IN UN'UNICA CASELLA DI TESTO REPORT ACCESS I VALORI DELLA TABELLA DI UN'INTERA COLONNA MS Access 2
F [HTML] Inserire testo all'interno di una div con border radius HTML e CSS 2
A word 2007: INSERIRE TESTO CHE VENGA RIPETUTO NEL DOCUMENTO Windows e Software 1
L Funzione per inserire solo testo PHP 13
C inserire in un nodo testo un valore creato con una fuction Javascript 17
B Joomla: inserire i libri di testo nel sito della scuola Joomla 2
emanuelevt inserire testo in mysql PHP 6
grottafelix Codice da inserire e non interpretare. Testo preformattato <PRE> HTML e CSS 1
SolidSnake4 inserire adsense nel testo Google AdSense 16
I Inserire variabile in testo PHP 1
L Inserire testo in modo "intelligente" PHP 1
I inserire testo su immagine HTML e CSS 7
W inserire testo con apostrofo PHP 12
P Formattare testo e inserire immagini in text area PHP 4
G Inserire una trasparenza fra trama e testo in CSS? HTML e CSS 2
S inserire variabili nel testo della mail Classic ASP 8
S Come inserire un testo scorrevole? Javascript 2
giorgione_tg l'apostrofo in un testo da inserire in DB.. Problemi PHP 8
metalgemini inserire tag in un form x formattare il testo Javascript 10
D Inserire link PHP 0
L PHPSpreadsheet inserire dati da file .xlsx/.xls su database PHP 2
P inserire due voci in un titolo post wp WordPress 1
R inserire video nel sito HTML e CSS 15
J Inserire blog wordpress in angular CMS (Content Management System) 0
A inserire variabile php colore in div html PHP 2
L inserire dati multi livello PHP 8
G Inserire una scritta Java 1
M Inserire variabile nella value di una hidden PHP 3
S Inserire foto in ogni cella di una tabella Javascript 0
G inserire dati automaticamente in mysql PHP 0
B Vorrei inserire una finestra con messaggio ad un history.back PHP 16
Shyson Inserire placeholder nel campo cerca PHP 5
M Lanciare alert se il codice fiscale è già presente nel db e lasciare la scelta di inserire all'utente PHP 42
atipika INSERIRE ICONE DOWNLOAD E STAMPA WORDPRESS WordPress 10
F Creare un set di date a seconda del frazionamento scelto da inserire in MySQL PHP 6
B inserire valori da una tabella a un altra mysql PHP 34
D [Javascript] inserire uno script in un file php Javascript 6
napuleone [HTML] type="file" inserire path di partenza HTML e CSS 4
Monital [Javascript] inserire dati estratti dal db in html fisso Javascript 1
R [WordPress] Inserire campi aggiuntivi ad un Submit Form già dato dal template (front-end) WordPress 0
M inserire i dati ottenuti da una jquery in una tabella già esistente jQuery 1
G Inserire "Leggi il resto dell'articolo" con link al post sul sito preso via RSS Email Marketing 0
M [PHP] Come inserire codice html in un ciclo while PHP 2
P [PHP] Inserire stringhe in input(text),memorizzarle e stamparle in file successivo PHP 0
J [Javascript] Inserire un caricamento con animazione prima dell'esecuzione di un'azione Javascript 1
D Mailchimp - Possibile inserire doppia condizione per i triggers? Email Marketing 0
A [MS Access] Pulsante per inserire allegati in campo maschera MS Access 0
Shyson [HTML] Inserire nuovo font con @font-face HTML e CSS 5

Discussioni simili