Ciao a tutti,
sto cercando uno script php che possa creare immagini:
cioe' inserisco del testo in un campo e lui mi crea una gif...
Qualcuno sa dove indirizzarmi?
Grazie
Printable View
Ciao a tutti,
sto cercando uno script php che possa creare immagini:
cioe' inserisco del testo in un campo e lui mi crea una gif...
Qualcuno sa dove indirizzarmi?
Grazie
Ma l'immagine cosa deve rappresentare??
E il testo nel campo a cosa serve?
Dacci maggiori info!
Non credo che esista uno script già pronto, ma magari si può modificare qualcosa o farne uno da 0.
Ciaoooo!!
Ok, cerco uno script che se inserisco del testo nel campo del testo (<input size="20" maxlength="255" value="" type="text">) mi tira fuori una immagine (gif) con il testo da me specificato...
Ah ho capito.
Non è molto difficile, quanta conoscenza hai di php?
Leggi qui: http://it.php.net/manual/it/function.imagestring.php
o funzioni simili.
Ciaooooo!!!!
Conoscenza... Ahem... nessuna, uso phpnuke proprio perche' non ne so niente di php!
Comunque provero', vorra' dire che imparero' qualcosa di nuovo!
-------EDIT---------------
Ok, ho provato, solo un'altra cosa:
come faccio a cambiare "Hello world!" dalla pagina online?
Fai una cosa del genere, hai una pagina html o php come vuoi dove c'è il form:
<form action="edit.php">
<input type="text" size="20" maxlength="255" name="testo" value="">
</form>
Il form con la casella di testo dovrebbe avere come ACTION=".." una pagina php (come il codice sopra), diciamo action.php
in questo script action.php ad un certo punto del document crea questa riga HTML:
<img src="createimg.php?text=<?=$_GET['testo']?>">
a questo punto crei finalmente lo script (createimg.php) che genera l'immagine.
Per questo usi lo stesso script che hai trovato di esempio dove al posto di "Hello world" ci scrivi il valore di:
$_GET['text']
che è appunto il parametro che gli è stato passato dal tag IMG a sua volta passato dall'invio del form e della casella di testo.
Ok, allora:
Ho creato 3 file: 1)index.php ; 2)action.php ; 3)createimg.php
E ho inserito:
1) <form action="action.php">
<input type="text" size="20" maxlength="255" name="text" value="">
<input type="submit" value="Crea">
</form>
2) <img src="createimg.php?text=<?=$_GET['text']?>">
3) <?php
// create a 100*30 image
$im = imagecreate(100, 30);
// white background and blue text
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 255);
// write the string at the top left
imagestring($im, 5, 0, 0, "$_GET['text']", $textcolor);
// output the image
header("Content-type: image/jpeg");
imagejpeg($im);
?>
Proprio come da te descritto, pero' il broswer mi da l'icona di "immagine non trovata".
Cosa ho sbagliato?
Uhm.. non ho controllato proprio alla grande..
però noto subito un errore di stringa:
imagestring($im, 5, 0, 0, "$_GET['text']", $textcolor);
o correggi così:
imagestring($im, 5, 0, 0, "{$_GET['text']}", $textcolor);
o ancor più semplicemente:
imagestring($im, 5, 0, 0, $_GET['text'], $textcolor);
vedi un po' se hai altri errori
in questo caso per vedere QUALE errore ti da lo script carichi DIRETTAMENTE nella barra indirizzo del browser l'URL:
"http://phpone.altervista.org/sottodirectory_eventuali/createimg.php?text=ciccio"
e dovresti vedere l'eventuale errore di script, se non ricordo male
Ok, nel frattempo (cioe' tutto il pomeriggio) ho provato e riprovato fino ad arrivare ad una soluzione chiara: ci sono riuscito.
Con delle modifiche ho scoperto che bastano solo 2 file.
Riporto di seguito le specifiche:
file 1) index.php
<form method="post" action="createimg.php">
<input size="20" name="textmail">
<input type="submit" value="Crea">
</form>
file 2) createimg.php
<?php
// crea un immagine 100*30
$im = imagecreate(100, 30);
// colori testo e bckground
$bg = imagecolorallocate($im, 0, 0, 0);
$textcolor = imagecolorallocate($im, 255, 255, 255);
// $im, 3, 5, 5, (=grandezza carattere)
imagestring($im, 3, 5, 5, "$textmail", $textcolor);
// crea immagine
header("Content-type: image/jpeg");
imagejpeg($im);
?>
fatte queste modifiche funziona tutto!
Puoi venire a vedere come va qui'
Grazie ancora per l'aiuto.
Ciao