• User

    Crea immagine con imagepng

    Ciao a tutti, ho creato un piccolo script per generare dei fumetti personalizzati. In pratica ho diverse immagini con personaggi e fumetti, con un form in html gli utenti possono scrivere una frase che viene poi "stampata" nel fumetto.
    A questo punto creo l'immagine con imagepng().
    Fin qui tutto bene, salvo l'immagine nel server e restituisco all'utente il link o il codice che può usare per mostrare l'immagine nel forum o nella sua firma.

    Mi è sorto un dubbio... se l'utente ogni volta che fa una prova salva un'immagine nel server in poco tempo la cartella si ritroverà piena di immagini inutilizzate.

    Vorrei allora modificare un pò il codice in modo da mostrare un'anteprima prima di salvare l'immagine nel server.

    Al momento sto usando questo codice

    [php]<?
    //legge l'immagine scelta nel form:
    $_POST['img'] = $img;
    $im = imagecreatefrompng("$img");
    // in caso di errore ferma lo script:
    if(!$im)
    {
    die("");
    }
    // definisce il colore del testo
    $black = imagecolorallocate($im, 0x00, 0x00, 0x00);
    // stabilisci dimensioni delle immagini
    $width = imagesx($im);
    $height = imagesy($im);
    //crea testo:
    $font = 3;
    $_POST['text1'] = $text1;
    $_POST['text2'] = $text2;
    $_POST['text3'] = $text3;
    $_POST['text4'] = $text4;
    $_POST['text5'] = $text5;
    //rendi testo maiuscolo
    $TEXT1 = strtoupper($text1);
    $TEXT2 = strtoupper($text2);
    $TEXT3 = strtoupper($text3);
    $TEXT4 = strtoupper($text4);
    $TEXT5 = strtoupper($text5);
    // scrive il testo:
    imagestring($im, $font, 124, 62, $TEXT1, $black);
    imagestring($im, $font, 95, 76, $TEXT2, $black);
    imagestring($im, $font, 88, 92, $TEXT3, $black);
    imagestring($im, $font, 93, 108, $TEXT4, $black);
    imagestring($im, $font, 115, 122, $TEXT5, $black);
    // crea immagine
    // formato immagine
    Header('Content-type: image/png');
    //crea un nome random per l'immagine
    $name = md5(rand() * time());
    // salva l'immagine
    imagepng($im, "http://www.giorgiotave.it/forum/images/$name.png");
    //mostra immagine e codice
    echo "<img src=http://miosito/images/$name.png>";
    $textarea = "<textarea rows=3 col=45>[img]http://miosito/images/$name.png[/img]</textarea>";
    echo stripslashes ($textarea);
    ?>[/php]

    Ho pensato di sostituire
    [php]// salva l'immagine
    imagepng($im, "http://www.giorgiotave.it/forum/images/$name.png");
    //mostra immagine e codice
    echo "<img src=http://miosito/images/$name.png>";
    $textarea = "<textarea rows=3 col=45>[img]http://miosito/images/$name.png[/img]</textarea>";
    echo stripslashes ($textarea);
    ?>[/php]

    con qualcosa di simile

    [php]// output the image as a png
    $salva = imagepng($im);
    echo "<form method=post action=getimage.php><input type=hidden name=img value=$img><input type=hidden name=text1 value=$TEXT1><input type=hidden name=text2 value=$TEXT2><input type=hidden name=text3 value=$TEXT3><input type=hidden name=text4 value=$TEXT4><input type=hidden name=text5 value=$TEXT5><input type=submit value=genera codice></form>";
    ?>[/php]

    e mettere in getimage.php il comando per salvare l'immagine, ma non mi viene stampato il bottone sotto l'immagine... Come mai?

    Cosa ho sbagliato?

    Spero di essere riuscita a spiegarmi bene, in caso contrario ditemelo che proverò a farlo meglio!

    Grazie
    Chiara