Devi sapere che dietro ogni script o altro ci sono ore di lavoro di persone più o meno competenti
Poi c'è gente che si fa pagare e gente che lo fa gratis , con gratis non si mangia
Comunque ne metto uno poi tutto si fa
Non inviatemi MP per gli script che non vi rispondo , il forum è un lavoro di gruppo
Codice:<?php header("Refresh: 60; url=" . $_SERVER["PHP_SELF"]); // prepara l'array per i nomi dei file $directory = array(); // prepara l'handler per la directory $handler = opendir('../snap'); // apre la directory e legge i singoli nomi dei file while ($file = readdir($handler)) { // se il nome del file contiene il testo iniziale imposto dalla ipcamera lo mette nell'array if (substr("$file", 0, 8) == "Schedule") { $directory[] = $file; } } // chiude l'handler closedir($handler); // ordina la lista dei file per nome (il piu' nuovo sara' il più recente) sort($directory); // conta i file $fileCount = count($directory); $fileCount2 = $fileCount - 2; // copia il file piu' nuovo in webcam.jpg // $index corrispondera' all'ultimo elemento dell'array (il primo e' 0) $index = $fileCount - 2; // era -1 modifica 24-07-2014 $fileDaCopiare = $directory[$index]; copy($fileDaCopiare, 'webcam.jpg'); // cancella tutti i file i cui nomi sono nell'array for($index=0; $index < $fileCount2; $index++) { $fileDaCancellare = $directory[$index]; unlink($fileDaCancellare); } $nome_immagine="webcam.jpg"; // file contenente l'immagine $nome_testo="testo.txt"; // file contenente le scritte esempio nome stazione o dati meteo ) $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($fileDaCopiare)); // era nome_immagine mod 27-01-2015 } fclose($fp); header("Content-type: image/png"); header("Expires: Mon, 26 Jul 1999 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, 153, 102, 51); // colore della barra formato RGB $colore_testo = imagecolorallocate($im, 255, 255, 255); // colore della barra formato RGB $x=imagesx($im); $y=imagesy($im); $font = "VeraBd.ttf"; $size = 10; // dimensione del testo $altezza_barra = 25; // 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); imagedestroy($im); ?>
ciao a tutti da Roberto
Stazione Davis 6163 VP2 Plus
La mia webcam a Nord La mia webcam a Ovest
Nell'interesse generale del Forum, NON RISPONDO privatamente a quesiti di ordine tecnico che invece possono essere dibattuti collettivamente
Buongiorno a voi tutti!
Un grazie in particolare a Gigi per la sua disponibilità e a tutti gli altri che hanno contribuito a creare script di aiuto per tutti.
Ho da pochi giorni acquistato una splendida Foscam 9900P da 2Mpixel e 104° di campo, semplicemnte spettacolare il rapporto qualità prezzo.
Grazie allo script di Gigi (ps. risolti i dubbi gigi, grazie!!) sono riuscito a sistemare tutto e ho adattato alcune cose.
Una domanda: come posso portare in alto la barra con il testo che mi sovraimprime a fondo immagine?
In quale riga del codice devo agire? Intanto metto a disposiione di tutti quello che ho modificato e il risultato:
Grazie!Codice:<?php header("Refresh: 120; url=" . $_SERVER["PHP_SELF"]); // prepara l'array per i nomi dei file $directory = array(); // prepara l'handler per la directory $handler = opendir('../snap'); // apre la directory e legge i singoli nomi dei file while ($file = readdir($handler)) { // se il nome del file contiene il testo iniziale imposto dalla ipcamera lo mette nell'array if (substr("$file", 0, 8) == "Schedule") { $directory[] = $file; } } // chiude l'handler closedir($handler); // ordina la lista dei file per nome (il piu' nuovo sara' il più recente) sort($directory); // conta i file $fileCount = count($directory); $fileCount2 = $fileCount - 2; // copia il file piu' nuovo in webcam.jpg // $index corrispondera' all'ultimo elemento dell'array (il primo e' 0) $index = $fileCount - 2; // era -1 modifica 24-07-2014 $fileDaCopiare = $directory[$index]; copy($fileDaCopiare, 'webcam.jpg'); // cancella tutti i file i cui nomi sono nell'array for($index=0; $index < $fileCount2; $index++) { $fileDaCancellare = $directory[$index]; unlink($fileDaCancellare); } $nome_immagine="webcam.jpg"; // file contenente l'immagine $nome_testo="testo.txt"; // file contenente le scritte esempio nome stazione o dati meteo ) $fp = fopen($nome_testo,"r") or die("impossibile aprire il file testo.txt."); $testo_sinistra=fgets($fp,140); // nella prima riga la scritta allineata a sinistra $testo_destra=fgets($fp,140); // nella seconda riga la scritta allineata a destra if ( $testo_destra = "data" ) { setlocale(LC_TIME,"it_IT"); $testo_destra=strftime ("%a %d/%m/%Y ore %H:%M:%S Visite totali: $total", filemtime ($fileDaCopiare)); // era nome_immagine mod 27-01-2015 } fclose($fp); header("Content-type: image/png"); header("Expires: Mon, 26 Jul 1999 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, 140, 140, 140); // colore della barra formato RGB $colore_testo = imagecolorallocate($im, 255, 255, 255); // colore della barra formato RGB $x=imagesx($im); $y=imagesy($im); $font = "VeraBd.ttf"; $size = 10; // dimensione del testo $altezza_barra = 18; // 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-75-$dx, $y-($altezza_barra / 2) + $dy - 1, $colore_testo, $font, $testo_destra); imagepng($im); imagedestroy($im); ?>
Foscam 27.01.2016 test3.jpg
Stazione meteo Pietra200 - Pietra Marazzi (AL) 200m slm ~ http://meteorob.altervista.org/Pietra200/hik/webcam.php
penso che la devi portare su usando il ccs
Segnalibri