Visualizzazione risultati 1 fino 2 di 2

Discussione: PHP scrivere messaggio su immagine

  1. #1
    Guest

    Predefinito PHP scrivere messaggio su immagine

    Buonasera,
    ho messo insieme un php che scrive un testo + data e ora su una immagine.
    Facendo partire lo script php visualizzo l'immagine con il testo, ma non mi salva l'immagine ottenuta nel file jpg.
    Ecco lo script:
    Codice PHP:
    <?php
    $nome_immagine
    ="modello.jpg"; // file contenente l'immagine
    $nome_testo="testo.txt"; // file contenente le scritte

    $fp = fopen($nome_testo,"r")
    or die(
    "impossibile aprire il file testo.txt.");
    $testo_sinistra=fgets($fp,100); // nella prima riga la scritta allineata a sinistra
    $testo_destra=fgets($fp,100); // nella seconda riga la scritta allineata a destra
    if ( $testo_destra = "data" )
    {
    setlocale(LC_TIME,"it_IT");
    $testo_destra=strftime ("%a %d %b %Y %H:%M:%S", filemtime($nome_immagine));
    }
    fclose($fp);

    header("Content-type: image/png; charset=utf-8");
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0", false);
    header("Pragma: no-cache");

    $im = imagecreatefromjpeg($nome_immagine);
    //$black = imagecolorallocate($im, 0, 0, 0);
    //$white = imagecolorallocate($im, 255, 255, 255);
    $colore_barra = imagecolorallocate($im, 91, 215, 115); // colore della barra formato RGB
    $colore_testo = imagecolorallocate($im, 0, 0, 0); // idem per testo
    $x=imagesx($im);
    $y=imagesy($im);

    $font = "VeraBd.ttf";
    $size = 8; // dimensione del testo
    $altezza_barra = 20; // dimensione della barra


    imagefilledrectangle($im, 0, $y-$altezza_barra, $x-1, $y-1, $colore_barra);

    $bbox = imagettfbbox ($size, 0, $font, $testo_sinistra);
    $dy = (($bbox[1] - $bbox[7]) / 2);
    imagettftext($im, $size, 0, 5, $y-($altezza_barra / 2) + $dy - 1, $colore_testo, $font, $testo_sinistra);

    $bbox = imagettfbbox ($size, 0, $font, $testo_destra);
    $dx = ($bbox[2] - $bbox[0]);
    imagettftext($im, $size, 0, $x-5-$dx, $y-($altezza_barra / 2) + $dy - 1, $colore_testo, $font, $testo_destra);
    imagepng($im);

    // copia il file piu' nuovo in webcam.jpg
    // $index corrispondera' all'ultimo elemento dell'array (il primo e' 0)

    copy($im, 'modello.jpg');

    imagedestroy($im);
    ?>
    Sicuramente c'è un errore, ma sono nuovo del php.
    Grazie
    Ultima modifica di alemoppo : 05-10-2013 alle ore 14.07.07 Motivo: +tag [php]

  2. #2
    Guest

    Predefinito

    Warning: There is 1 line that may be missing a semi-colon:
    $testo_destra = "data" )

    Error: There is 1 control structure that contain a single equal sign '=' instead of != !==, ==, or ===:
    if ( $testo_destra = "data" ) {

    prova ad aggiustare questi errori

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •