Hallo Maik,
so ganz scheint es ja immer noch nicht zu laufen. Nun habe ich mal einen Versuch unternommen, das Ganze ausserhalb von Studio laufen zu lassen. Das klappt erst mal prima. Im Moment kann ich auf meinem Laptop die Ram-Disk nicht verwenden, deshalb habe ich einen SD-Karte genommen und dieser den Laufwerksbuchstaben zugewiesen, den sonst meine RAM-Disk hat. Beim Testen der "Uhrzeit-Grafik-Erzeugung" hatte ich dann auch manchmal das Problem, dass die Prozessorlast anstieg, teilweise 100%. Der Process-Explorer hat es dann verraten: Interrupts! Beim Schreiben auf SD-Card werden wohl sehr Harwarenahe Routinen beschäftigt, die viele Interrupts ausgelöst haben. Das hat das System verlangsamt. Ich könnte mir das auch bei Dir vorstellen. Ist aber nur so eine Vermutung. Nun kenne ich Deine RAM-Disk nicht, aber es könnte damit zusammmenhängen. Vielleicht postest Du mal, was Du da installiert hast.
Die 2te Sache, die mir auffiel: Du bestehst ja auf durchsichtigen Hintergund, weshalb jpg als Format nicht geht.
ABER: Du verwendest den ja gar nicht. Ich habe Deinen Code direkt übernommen und nur ein paar Pfade angepasst. Beim testen kam ich dann drauf:
Im Moment erzeugt Dein Code, so wie er 1 Seite vor dieser steht, eine schwarze Schrift auf weißem Hintergrund, durch die imagebw-Funktion ausschließlich schwarz und weiß.
Code: Alles auswählen
$hintergrund = ImageColorAllocate ($im, 255, 255, 255);
$vordergrund = ImageColorAllocate ($im, 0, 0, 0);
etwa so:
[Die Dateierweiterung bmp wurde deaktiviert und kann nicht länger angezeigt werden.]
Um die Grafik durchsichtig zu bekommen muss es heißen:
und Du kannst imagebw nicht mehr verwenden. dieses macht ja wieder schwarz/weiß daraus, was bei blauem Hintergrund einfach schwarz wird. Ohne imagebw sieht es dann so aus:
[Die Dateierweiterung bmp wurde deaktiviert und kann nicht länger angezeigt werden.]
und in Studio dann so:
[Die Dateierweiterung bmp wurde deaktiviert und kann nicht länger angezeigt werden.]
Nun gibt es hier wieder diese hässlichen Verläufe, die Du ja mit imagebw wegbekommen wolltest.
Ich habe nun nochmals die Grafikfunktionen nachgelesen und bin nach einigem ausprobieren auf diese Lösung gestoßen:
[Die Dateierweiterung bmp wurde deaktiviert und kann nicht länger angezeigt werden.]
vergrößert:
[Die Dateierweiterung bmp wurde deaktiviert und kann nicht länger angezeigt werden.]
Wie geht das nun:
Statt imagecreatetruecolor verwendest Du nur imagecreate, für imagettftext wird der negative Farbindex verwendet, damit die Schrift ohne Farbverlauf geschrieben wird (AntiAlias).
Anschließend wird der weiße Hintergrund mit blau ausgetauscht. Ich habe versucht, die Schrift gleich auf den blauen Hintergrund zu schreiben, das hat nicht funktioniert. Warum? keine Ahnung.
Das Ganze habe ich wie o.a. so geschrieben, dass es außerhalb von Studio läuft. Es ist ein php-skript mit Endlosschleife!! Allerdings werden die includes nur einmal geladen und nur wenn sich die Uhrzeit ändert wird eine Grafik erzeugt. Das ist sehr resourcenschonend. In Studio brauchst Du nur ein Objekt vom Typ Schalter, im Makro schreibst Du nur rein: ObjektSchalter umschalten und läßt es sekündlich laufen. Den beiden Zuständen verpasst Du die Grafik, die von dem php-Dauerscript erzeugt wird (im selben Verzeichnis wie das Script).
So, das probierst Du mal aus, und wenn es zu Deiner Zufriedenheit läuft machen wir noch etwas, damit das script mit Studio startet und auch wieder beendet wird.
Im Anhang ist ein Zip-File. Den Inhalt kopierst Du in ein beliebiges Verzeichnis .
Dann brauchst Du noch die php5ts.dll der Version 5.2.6.6. Konnte ich leider nicht mit ins Archiv packen, da zu groß. Ich schicke sie Dir per email, oder du folgst meiner Beschreibung
hier, um die Dateien selbst zusammenzustellen. Wichtig: Alle Dateien müssen von ein und der selben Version sein, mischen impossible!
Dann öffnest Du ein Dos-Fenster in diesem Verzeichnis und startest das Programm: (Achtung: Es läuft Endlos und läßt sich nur über den Taskmanager abschiessen!!)
php phpGrafikUhr.php
oder Du gibst ein :
phpconsole phpGrafikUhr.php
Dann hast Du die Möglichkeit, das Programm mit Strg+C zu stoppen.
So, nun hoffe ich, daß Du am Ende doch noch zu Deiner phpgrafikuhrinbmpweilhintergrunddurchsichtigseinmuss kommst.
Viel erfolg!!
sanys
P.S. Du kannst natürlich auch erst mal meine Änderungen in Dein Script übernehmen und von Studio aus laufen lassen. Vielleicht klappt das ja auch schon, da die erzeugten Grafiken nunmehr nur 2 kb groß sind.