Benutzer mit den meisten Antworten
Ansatz fuer WaveformViewer gesucht [VIisual Studio 2010 VB .NET 4 WindowsForms]

Frage
-
Hallo Experten,
ich muss Waveforms (Aehnlich Windows Task Manager Performance) anzeigen. Ich benoetige aber Zoom-Funktionalitaet in der X-Achse (Zeit) die Y Achse bleibt unveraendert. Ausserdem ist erklaerende Text an die Waves annotiert.
- Mach es Sinn das mit der PictureBox zu tun (Preformance) ?
- Kann man Polygone direkt auf die From zeichnen ?
- Anders control ?
Bitte sagt mir mal wie ihr darueber denkt.
Vielen DankRolf
- Bearbeitet Robert BreitenhoferModerator Montag, 1. November 2010 19:37 Titel Korrektur
Antworten
-
Rolf,
etwa für im Audio-Bereich finden sich evtl Hinweise/Ansätze bei
http://naudio.codeplex.com/
http://mark-dot-net.blogspot.com/2008/10/volume-metering-and-audio-waveform.html
http://mark-dot-net.blogspot.com/2009/07/audio-waveform-drawing-using-wpf.html
http://www.codeproject.com/KB/audio-video/wavecontrol.aspx- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 30. November 2010 09:54
-
Hallo Rolf,
schau Dir mal die Chart-Controls und deren Beispiele an.
Ob es Deine Anforderungen vollständig erfüllt und
die Datenvolumina "schluckt" kann ich nicht beurteilen.Ein (sehr einfaches) Beispiel hatte ich mal gegeben unter: Häufigkeitsverteilung
Gruß Elmar
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 30. November 2010 09:54
Alle Antworten
-
Hallo Rolf
suchst du sowas? wie (hier WPF):
http://www.codeproject.com/KB/vista/swordfishcharts.aspx
oder Forms
http://netcontrols.org/nplot/wiki/index.php?n=Main.Examples
für 'dynamischen' Inhalt ist ein spezifisches (Custom) Control deutlich geeigneter als zB PictureBox. -
Hallo Thomas,
vielen Dank fuer die schnelle Antwort.
Das chart mit WPF sieht nett aus, aber die "Informationsdichte" in den Daten die ich habe ist sehr gross.
Beispiel: Die Rodaten sind bis zu 100 000 Ereignisse. Da muss natuerlich ein Stueck software erst mal die Daten auf die zu verfueguing stehenden pixels runterrechnen. Dieser Prozess mus nicht umbedingt in dem Grafikcontrol erfolgen.
Das control koennte sich auf 1000 pixel oder etwas weniger konzentrieren.
Ich kenne vom WPF nicht mal die Vokabeln. Fakt ist das ich auf Windows Forms arbeiten muss.Leider funtioniert der zweite link nicht.
Was kennst Du an custom controls die da helfen koennten ?
Rolf
-
Rolf,
etwa für im Audio-Bereich finden sich evtl Hinweise/Ansätze bei
http://naudio.codeplex.com/
http://mark-dot-net.blogspot.com/2008/10/volume-metering-and-audio-waveform.html
http://mark-dot-net.blogspot.com/2009/07/audio-waveform-drawing-using-wpf.html
http://www.codeproject.com/KB/audio-video/wavecontrol.aspx- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 30. November 2010 09:54
-
Hallo Rolf,
schau Dir mal die Chart-Controls und deren Beispiele an.
Ob es Deine Anforderungen vollständig erfüllt und
die Datenvolumina "schluckt" kann ich nicht beurteilen.Ein (sehr einfaches) Beispiel hatte ich mal gegeben unter: Häufigkeitsverteilung
Gruß Elmar
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 30. November 2010 09:54
-
Hallo Rolf,
ich arbeite seit 3 Jahren mit ZedGraph, damit kann man alle möglichen Daten darstellen und es ist für Forms gedacht. Damit kannst du auf handelsüblichen Rechnern locker 100K Werte darstellen, wenn diese oft gezeichnet werden müssen,kannst du das ZedGraph-Control auch um Direct3D zum Daten zeichnen erweitern,damit es flotter geht.
Die Zoom und Pan-Funktionen sind implementiert uvm. und auch sonst ist es ein recht gutes Control.
z.B. TextObj können für deine Beschriftungen verwendet werden, für die Waveform nutzt du einfach das LineItem...http://zedgraph.org/wiki/index.php?title=Main_Page
Grüße
Matrose
-
Hallo Rolf,
man hat Dir schon einige Lösungsansätze gezeigt, die ich sehr interessant finde. Ich werde denen nachgehen. Der Vollständigkeit halber möchte ich ergänzen, dass dieses auch mit einfachen "Bordmitteln" der NET Klassen möglich ist. System.Drawing Namespace und Graphics Klasse. Ein Beispiel siehst Du hier:
Zur Performance kann ich sagen. Hier werden 5000 Messpunkte dargestellt. Eine Verzögerung beim Aufbau dieses Bilds sind mit dem Auge nicht erkennbar.
Ein Beispielprogramm findest Du in den VB Samples von Microsoft:
http://code.msdn.microsoft.com/vb2010samples/Release/ProjectReleases.aspx?ReleaseId=4174
Dort die Projekte Winform Samples/GDIPens und GDIText
Die haben mir als Grundlage gedient.
Ist es das, was Du Dir vorstellst?
schöne Grüße Ellen
Ich benutze/ I'm using VB2008 & VB2010