3zeiler zur Grafikformat-Umwandlung

Hallo,

hier im Forum wird manchmal bemängelt, dass irgendeine Software ein bestimmtes Grafikformat (z.B. GIF) verlangt oder ein anderes (z.B. PNG) nicht versteht (Designer) und man deswegen auf ein SW-Update warten müsse.

In PHP ist in vielen Fällen eine solche Formatwandlung mit einem 3zeiler zu erledigen. Voraussetzung dafür ist lediglich die Nachrüstung von PHP mit einer DLL, welche die bis jetzt noch fehlende Grafikfähigkeit von PHP herstellt.
http://www.ipsymcon.de/forum/showthread.php?t=781

Hier einige 3zeiler:

<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : Beispiel.ips.php
Trigger  : 
Interval : 
*/

// wandelt GIF ---> PNG
$img=imagecreatefromgif("./pictures/Grafik.gif");
imagepng($img, "./pictures/Grafik.png");
imagedestroy($img);

// wandelt PNG ---> JPG
$img=imagecreatefrompng("./pictures/Grafik.png");
imagejpeg($img, "./pictures/Grafik.jpg", 75);
imagedestroy($img);

// wandelt JPG ---> GIF
$img=imagecreatefromjpeg("./pictures/Grafik.jpg");
imagegif($img, "./pictures/Grafik.gif");
imagedestroy($img);
?>

Gruß
HJH

Hallo,

ist alles ok, aber passt bitte dabei auf, dass diese Funktionalitaet nicht fuer das Webinterface geeignet ist, wenn man sehr viele Graphen integriert hat. Damit macht Ihr naemlich Euer IPS System sozusagen sendetot :smiley:

Fuer die Konvertierung einzelner Graphen kann man das nutzen. Aus diesem Grund macht es auch keinen Sinn, die Graph Generierung durch die GD Bibliothek innerhalb von IP-SYMCON zu realisieren. Wir haben in den Tests mit reinem C-Code bereits mehr als 1,5 Minuten bei 150 Graphen erreicht, und das war ein relativ leistungsfaehiger Rechner. Grafikfunktionen sind zum einen speicherlastig aber auch prozessorhungrig…

Gruss Torro

Tja, das war es was ich angefangen habe zu bemerken. Nach 20 verschiedenen Grafiken wird es kritisch. Meine Frau machte mich darauf aufmerksam, dass die PIRI´s im Flur nicht mehr richtig arbeiten, wo ich dabei kräftig imgange war, GD Scripts einzubauen :eek:
Somit habe ich das fallen gelassen und freu mich schon wie ein kleines Kind auf IPS´Update zur Unterstützung von PNG´s :smiley:

@Torro:

Ich würde zwar gerne ein Zusatz in den RDD scripts sehen, wo man die Hintergrundfarbe auswählen kann, denn das strahlende Hintergrundweiss passt nicht so gut so gelben Linenverläufen.

Hallo,

in der Version 0.70 kannst Du den gesamten CANVAS aendern, ganz nach Belieben. Schau Dir einfach unter der Wiki zum Webinterface mal die ToDo Liste an, da siehst Du, was in der Version alles drin ist.

Gruss Torro

@Torro

Nun, ich möchte jedoch meine Bemerkung revisieren, das Webinterface würde mir persönlich nicht so gefallen. Klar, thema bedienung und Flexibilität ist und bleibt es eine Katastrophe, doch die Grafiken sind einfach unschlagbar. Kurvenverläufe verraten viel, klar man kann nicht in die P, I, und D Einstellungen eingreifen, dennoch … ich konnte 74€ an Erdgas einsparen, seit ich mit den FHT´s regele.

Ich freue mich demanach auf die Version 0.70

Hallo Torro,

wie um alles in der Welt kamst Du in die Verlegenheit 150 Graphen auf einmal berechnen zu müssen, wofür Dein Rechner 1,5 Minuten gebraucht hat?

Du solltest vielleicht einmal Dein Konzept überprüfen.

Genügt es denn nicht völlig aus dem vorhandenen Datenbestand nur diejenigen Graphen zu berechnen, die der User gerade sehen will (also nur bei Bedarf)?

Ich kann natürlich nicht ausschließen, dass ich beim Verständnis Deines Konzepts selbst völlig auf dem Holzweg bin.

Gruß
HJH

Hallo HJH,

also ich selbst nicht, aber da gibts jemand unter uns, der hat wohl schon fast 200 Graphen.

Du solltest vielleicht einmal Dein Konzept überprüfen.

Genügt es denn nicht völlig aus dem vorhandenen Datenbestand nur diejenigen Graphen zu berechnen, die der User gerade sehen will (also nur bei Bedarf)?

moeglich ist das, aber der Ansatz ganz am Anfang war ein voellig anderer. Da gings auch nicht darum, viele Graphen zu erstellen, sondern nur ein paar. Das ganze hat sich etwas verselbstaendigt. Im uebrigen ist das bei der Version 0.70 ueberhaupt kein Thema, ob das 10 Sekunden oder 2 Minuten dauert, da es komplett entkoppelt ist. Und das ist das entscheidende. Und letztendlich legt jeder selbst fest, wie oft die Graphen erstellt werden. Bei mir zum Beispiel nur aller 15 Minuten, bei anderen nur einmal am Tag.

Ich kann natürlich nicht ausschließen, dass ich beim Verständnis Deines Konzepts selbst völlig auf dem Holzweg bin.

Gruß
HJH

Man kann auch anders herangehen, aber wenn man das Overview fuer alle Graphen benutzen will und zwei User dieses tun, dann wuerde die dann stattfindende Generierung IPS komplett lahmlegen. Und genau das darf nicht passieren. Deshalb ist es besser, wenn der Admin festlegt, wann und wieviel Graphen generiert werden…so ist es jetzt.

Gruss Torro

Hallo Torro,

vielen Dank für Deine Ausführungen.

Die Funktion „Overview fuer alle Graphen“ habe ich nirgendwo gefunden. Ich vermute diese wird in der kommenden Version enthalten sein.

Wenn damit gemeint ist, dass alle vom Benutzer definierten Graphen gleichzeitig sichtbar sind, dann befürchte ich dass der Informationsgehalt mit etwa I=1/n (n=Anzahl der Graphen) anzusetzen ist. Für Vergleiche ist ein Multigraph-Display eher besser geeignet.

Aber ich bin sicher, die User „stehen“ auf so etwas. Schließlich macht es ordentlich was her. Und Besuchern ist damit auch etwas zum Staunen geboten, was die Gastgeber meist sehr gerne sehen (ich bin da keine Ausnahme!).:wink:

Eine Frage habe ich allerdings noch:
Deine Graphen-Routine beherrscht fortgeschrittene Funktionen, wie z.B. Skalierung der Werte (siehe Milli Grad Celsius), die für die Darstellung eines Temperaturverlaufs nun wirklich nicht nötig ist. Bedeutet dies, dass sie vielleicht sogar andere als die für die Heizungssteuerung erforderlichen Features bereithält, wie z.B. die Darstellung von technisch-wissenschaftlichen Zusammenhängen (vielleicht sogar logarithmisch oder in 3D) oder weitere, für die meine Phantasie nicht mehr ausreicht?

In diesem Falle wäre ich an einem Programm-Paket interressiert, das man auch anderweitig einsetzen könnte.

wünsche noch viel Erfolg

HJH

Hallo HJH,

genau…

Eine Frage habe ich allerdings noch:
Deine Graphen-Routine beherrscht fortgeschrittene Funktionen, wie z.B. Skalierung der Werte (siehe Milli Grad Celsius), die für die Darstellung eines Temperaturverlaufs nun wirklich nicht nötig ist. Bedeutet dies, dass sie vielleicht sogar andere als die für die Heizungssteuerung erforderlichen Features bereithält, wie z.B. die Darstellung von technisch-wissenschaftlichen Zusammenhängen (vielleicht sogar logarithmisch oder in 3D) oder weitere, für die meine Phantasie nicht mehr ausreicht?

3D nicht, aber logarithmisch Darstellung ist moeglich, allerdings nicht implementiert. Ansonsten kann man auch Netzwerkgraphen an der Null-Linie darstellen, also hoch und tief. Eigentlich ist mit etwas Arbeit alles moeglich, man kann auch ueber die RPN Unit eine ganze Rechenarie vorher machen, bevor der Graph dargestellt wird. Aber schau bitte dazu in die Wiki, da sind weiterfuehrende Links zum Thema vorhanden.

In diesem Falle wäre ich an einem Programm-Paket interressiert, das man auch anderweitig einsetzen könnte.
wünsche noch viel Erfolg
HJH

:confused: :stuck_out_tongue:

Gruss Torro