Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    29

    Problema ridimensionamento immagine

    Ho bisogno di ridimensionare un'immagine di una webcam, che però utilizzo con l'aggiunta di un logo e di una scritta.

    Questa è l'immagine nelle dimensioni reali

    http://www.meteovalleditria.it/webcam2/webcam.php

    e questi gli script relativi:

    Codice PHP:
    <?php

    header
    ("Refresh:120;");
    $nome_immagine="webcam.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");

    $im  imagecreatefromjpeg($nome_immagine);
    //$black = imagecolorallocate($im, 0, 0, 0);
    //$white = imagecolorallocate($im, 255, 255, 255);
    $logo  imagecreatefrompng("Logo.png");
    $colore_barra imagecolorallocate($im10128);        // colore della barra formato RGB
    $colore_testo  imagecolorallocate($im255255255);    // idem per testo
    $logo_x=imagesx($logo);
    $logo_y=imagesy($logo);
    $x=imagesx($im);
    $y=imagesy($im);

    $font "VeraBd.ttf";
    $size 14;                            // dimensione del testo
    $altezza_barra 28;                        // dimensione della barra


    imagefilledrectangle($im0$y-$altezza_barra$x-1$y-1$colore_barra);

    $bbox imagettfbbox ($size0$font$testo_sinistra);
    $dy   = (($bbox[1] - $bbox[7]) / 2);
    imagettftext($im$size05$y-($altezza_barra 2) + $dy 1$colore_testo$font$testo_sinistra);
       
    $bbox imagettfbbox ($size0$font$testo_destra);
    $dx   = ($bbox[2] - $bbox[0]);
    imagettftext($im$size0$x-5-$dx$y-($altezza_barra 2) + $dy 1$colore_testo$font$testo_destra);

    imagecopyresampled($im,$logo,0,0,0,0,$logo_x,$logo_y,$logo_x,$logo_y);
    imagepng($im);
    imagedestroy($im);
    imagedestroy($logo);

    ?>
    Per ridimensionare l'immagine c'è questo script:

    Codice PHP:
    <?php

    // The file
    $filename 'webcam.jpg';
    $percent 0.7;

    // Content type
    header('Content-type: image/jpeg');

    // Get new dimensions
    list($width$height) = getimagesize($filename);
    $new_width $width $percent;
    $new_height $height $percent;

    // Resample
    $image_p imagecreatetruecolor($new_width$new_height);
    $image imagecreatefromjpeg($filename);
    imagecopyresampled($image_p$image0000$new_width$new_height$width$height);

    // Output
    imagejpeg($image_pnull100);
    ?>
    Come posso unire i due codici per avere l'immagine ridimensionata con il logo e la scritta?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    29
    Ho letto che c'è pure una funzione watermark...

  3. #3

    Re: Problema ridimensionamento immagine

    Non l'ho testato, ho editato il tuo script così com'era, ma dovrebbe funzionare
    Codice PHP:
    <?php

    header
    ("Refresh:120;");
    $nome_immagine="webcam.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");

    $im  imagecreatefromjpeg($nome_immagine);
    //$black = imagecolorallocate($im, 0, 0, 0);
    //$white = imagecolorallocate($im, 255, 255, 255);
    $logo  imagecreatefrompng("Logo.png");
    $colore_barra imagecolorallocate($im10128);        // colore della barra formato RGB
    $colore_testo  imagecolorallocate($im255255255);    // idem per testo
    $logo_x=imagesx($logo);
    $logo_y=imagesy($logo);
    $x=imagesx($im);
    $y=imagesy($im);

    $font "VeraBd.ttf";
    $size 14;                            // dimensione del testo
    $altezza_barra 28;                        // dimensione della barra


    imagefilledrectangle($im0$y-$altezza_barra$x-1$y-1$colore_barra);

    $bbox imagettfbbox ($size0$font$testo_sinistra);
    $dy   = (($bbox[1] - $bbox[7]) / 2);
    imagettftext($im$size05$y-($altezza_barra 2) + $dy 1$colore_testo$font$testo_sinistra);
       
    $bbox imagettfbbox ($size0$font$testo_destra);
    $dx   = ($bbox[2] - $bbox[0]);
    imagettftext($im$size0$x-5-$dx$y-($altezza_barra 2) + $dy 1$colore_testo$font$testo_destra);

    imagecopyresampled($im,$logo,0,0,0,0,$logo_x,$logo_y,$logo_x,$logo_y);

    //----- Resize --------
    $percent 0.7;
    $new_width $x $percent;
    $new_height $y $percent;

    $dest imagecreatetruecolor($new_width$new_height);

    imagecopyresampled($dest$im0000$new_width$new_height$x$y); 
    //--------------------

    imagepng($dest);
    imagedestroy($im);
    imagedestroy($logo);
    imagedestroy($dest);
    ?>

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    29
    Grazie mille cubalibre, sei un grande, funziona benissimo!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.