Hei Leute Ich habe ein gröberes Problem mit C#. Ich versuche einen Graphen bestehend aus 3 Layern zu programmieren. Der erste Layer soll gewisse Informationen hinter dem Graphen anzeigen. Der zweite den eigentlichen Graphen mit Kordinatensystem und den Linienbezeichnungen. Der 3. Layer soll die eigentlichen Linien etc. beinhalten. Leider schaffe ich es nicht dies in C# umzusetzen. Da der 3. Layer sehr viel Daten zeichnen muss fällt die OnPaint Methode weg weil sonst das Ganze viel zu langsam wird. BufferedGraphics hab' ich mir angeschaut aber da fehlt mir ein Weg wie das Ganze transparent wird(Wird soviel ich weiss nicht unterstützt). Gibt es eine andere Idee wie ich am geschicktesten Layer zeichnen kann ohne immer alles neu zeichnen zu müssen.(Ich erhalte über TCP/IP alle 200 ms neue Messwerte für den Graphen!) Danke im Voraus und Gruss Farin
ich würde man schauen ob es mit DirektX geht. http://msdn.microsoft.com/en-us/library/windows/desktop/dd370990%28v=vs.85%29.aspx
Farin schrieb: > Ich erhalte über TCP/IP alle > 200 ms neue Messwerte für den Graphen!) Reduktion? Wenn du alle 200 ms die angezeigten Kurven änderst ergibt das für den Betrachter win wüstes Gezappel aus dem kein Mensch mehr vernünftig Informationen herauslesen kann.
Nicht ändern.. Ich füge alle 200ms neue Werte ein. Das ganze sollte sich dann flüssig erweitern und nicht einfach wie mit der OnPaint Methode jedesmal von neuem zeichnen lassen. Der Graph sollte einfach weitergeführt werden.
Hallo Farin, Du musst ja nicht den kompletten Graph neu zeichnen. Die Basisklasse Control bietet die Methode Invalidate(). Mit deren verschiedenen Überladungen kannst Du erreichen, dass immer nur geänderte Teil neu gezeichnet werden muss. Gruß Markus
Hi, vielleicht hilft dir "ZedGraph" weiter. Bietet sehr viele Möglichkeiten im Bereich Graphen usw. in Verbindung mit C#. Einfach mal googeln. Grüße
Wird aber leider nicht mehr weiter entwickelt und ist auf Stand 2008 stehen geblieben...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.