Uhrzeit als BMP erzeugen

mfreye

Grünschnabel
Hallo zusammen.

da ich hier neu bin, hoffe ich mal das es nicht schon ein solches Thema gab. Ich habe nichts gefunden :(

Ich möchte gerne die aktuelle Uhrzeit als BMP Datei jede Sekunde neu speichern. Wenn möglich sollte die Uhrzeit eine 1 Sekunde vorlaufen.

Warum das ganze, ich möchte diese Grafik gerne in eine Visualisierung einbinden und diese versteht nur BMP Datein :(

Hatte das ganz mal mit php gemacht aus der Visualisierung heraus, doch leider wird dadurch das ganze System larm gelegt. Die CPU Last ist von 3% auf 80% angestiegen

Ach, das BMP speichere ich in eine RAMDISK.

Anbei mal mein PHP Code:

Code:
    <?
        // Pfade festlegen
        $Objectname = Uhrzeit_jetzt;
        include ("Z:\\contronics\\homeputer Studio\\php\\bmp.php"); 
        include ("Z:\\contronics\\homeputer Studio\\php\\imagebw.php");   
        $filejpg = "Z:\\contronics\\homeputer Studio\\BMP\\".$Objectname.".bmp";
        $fontdir = "C:\\WINDOWS\\Fonts\\";
       
        //Variablen festlegen
        $SizeX = 110;
        $SizeY = 35;
        $Font1 = $fontdir."DS-DIGIBf"; //DS-DIGIBf
        $Font2 = $fontdir."comicf"; //arialf
        $FontSize_1 = 17; //Minuten
        $FontSize_2 = 11; //Sekunden
        $FontSize_3 = 13; //Doppelpunkte
        $Uhrzeit_Temp = date("H:i:s");  //Uhrzeit hh:mm:ss (24Std.)
       
        //Uhr zerstückeln
        $string = $Uhrzeit_Temp;
        $StdZ = $string[0];
        $StdE = $string[1];

        $MinZ = $string[3];
        $MinE = $string[4];
       
        $SekZ = $string[6];
        $SekE = $string[7];
           
        //Farben festlegen
        $im = @ImageCreatetruecolor ($SizeX, $SizeY);
        $hintergrund = ImageColorAllocate ($im, 255, 255, 255);
        $vordergrund = ImageColorAllocate ($im, 0, 0, 0);
       
        // Wegen Fehler in Homeputer-PHP, zunächst Pseudoschriften laden
        ImageTTFText ($im, 18, 0, 0, 0, $vordergrund, $fontdir."wingdingf", "");  //Standart     
        ImageTTFText ($im, 18, 0, 0, 0, $vordergrund, $Font1, "");  //erste Schrift       
             
        // Den Hintergrund "ausmalen"
        imagefill($im, 0, 0, $hintergrund);     
       
        //Uhrzeit zusammen basteln
        ImageTTFText ($im, $FontSize_1, 0, 0, +$FontSize_1, $vordergrund, $Font2, $StdZ);   
        ImageTTFText ($im, $FontSize_1, 0, +14, +$FontSize_1, $vordergrund, $Font2, $StdE); 
       
        ImageTTFText ($im, $FontSize_3, 0, +29, +$FontSize_1-1, $vordergrund, $Font2, ":");
         
        ImageTTFText ($im, $FontSize_1, 0, +35, +$FontSize_1, $vordergrund, $Font2, $MinZ);   
        ImageTTFText ($im, $FontSize_1, 0, +49, +$FontSize_1, $vordergrund, $Font2, $MinE);   
       
        ImageTTFText ($im, $FontSize_2, 0, +64, +$FontSize_2+6, $vordergrund, $Font2, ":");
                   
        ImageTTFText ($im, $FontSize_2, 0, +70, +$FontSize_2+7, $vordergrund, $Font2, $SekZ);   
        ImageTTFText ($im, $FontSize_2, 0, +80, +$FontSize_2+7, $vordergrund, $Font2, $SekE);
       
        //Das Bild im Speicher erzeugen und abspeichern
        ImageBW($im,"NORMAL");
        ImageBmp ($im, $filejpg);
       
        //Das Bild im Speicher zerstören
        ImageDestroy ($im);
    ?>


Danke für Eure Hilfe schon mal im voraus!

MfG
MFreye
 
Hallo,

um was für eine Sprache in der "Visualisierung" geht es denn? Ich schätze PHP?

Ich vermute nochmal und nehme an, Du suchst in der Visualisierung nach einem Muster [gesuchte_Uhrzeit].bmp ? Warum schreibst Du die Methode nicht um und stellst die aktuelle Uhrzeit dynamisch dar? Sprich du fragst sie ab und visualisierst dann die einzelnen Zahlen mit den Bitmaps.

Aber wie gesagt, alles nur wildes Gerate ohne mehr Infos ;)

Ich kann einfach nicht glauben, das es für irgendeine Software, die etwas auf sich hält nötig ist, 86.400 Bilder zu erstellen ;) Und das nur für eine Uhrzeit...
 
Hallo!

Also es handelt sich um folgende Software:
http://www.contronics.de/html/download.html

Sicherlich gibt es eine Uhr in der Software, aber diese ist nicht veränderbar und passt nicht in mein Layout.

Deshalb wollte ich eine eigene Uhr programmieren, was so weit auch funktioniert hat, aber leder ist dabei die CPU last durch den PHP anteil stark gestiegen.

Es muss sich auch um eine BMP Datei handel, da nur diese transparent dargestellt wird. Ja bei einem BMP Datei! Alle blauen Farben (255,255,0) sind transparent.

Brauchst Du noch mehr Info's?

MfG
mfreye
 
Die Beschreibung der Software gibt nicht viel her, erkläre mal kurz, was sie macht.

Naja, dass die CPU Last steigt, wenn Du Sekündlich nen PHP Skipt laufen hast, wundert mich jetzt nicht so sehr, wenn ich ehrlich bin. Für soetwas ist PHP nicht gedacht.

Du sprichst immer von einem Layout bzw. einer Visualisierung: hast Du dazu mal ein paar Infos? Welche Art von Daten bekommst Du? Gibt dazu mal ein Beispiel. Wie und womit stellst Du es dar? PHP? C++? Auch dazu wäre eine Beschreibung nett, da ich nach wie vor nicht so recht glauben kann, das jemand eine Software vertreibt, die zur Visualisierung 86.400 Bilder braucht ... was für ein overkill.
 
Hallo,

habe mal ein Bild angehängt.

Es ist keine Sprache wie C++, PHP oder der gleichen.

Als Beispiel eine Anweisung:

wenn Licht ausgeschaltet dann
Licht einschalten
endewenn

Was noch möglich ist, die Sprache PHP zu teil einzusetzen. Ich kann Variablen übergeben und wieder zurück holen, wenn PHP angearbeitet ist..

Das das Script die CPU Last hoch schraubt wundert mich auch nicht. Aber leider habe ich bis jetzt keine andere Lösung gefunden.

Aber es kann auch ein externes Programm sein, welches die BMP Bildchen 86400 mal am Tag erzeugt ;)

Wie im Bild zu sehen, habe ich einfach die Sekunden weggelassen, aber das ist ja keine wirkliche Lösung.

Danke für die Hilfe und Mühe.

MfG
mfreye
 

Anhänge

  • new.JPG
    new.JPG
    74,6 KB · Aufrufe: 64

Neue Beiträge

Zurück