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($im, 1, 0, 128); // colore della barra formato RGB
$colore_testo = imagecolorallocate($im, 255, 255, 255); // 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($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);
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, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// Output
imagejpeg($image_p, null, 100);
?>
Come posso unire i due codici per avere l'immagine ridimensionata con il logo e la scritta?