Autor Beitrag
avoid
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 206
Erhaltene Danke: 4

WinXP32, Win764
msl, html, php, Java, Basic, C# (VS 2010 Pro)
BeitragVerfasst: Fr 14.12.18 20:34 
Hallo Leute,

ich habe seit längerem die Idee eine Anwendung mit einer Heatmap zu erstellen.
Ich möchte Grafikdateien, PDF und DWG als Hintergrund laden und anhand von Messdaten eine transparente Heatmap als Overlay über diesen Hintergrund legen.
Leider sind meine Programmierkenntnisse begrenzt und ich hoffe ihr könnt mir ein par nötige Vorgehensweisen beschreiben wie ich zu meinem Ziel komme.

Evtl. kennt der eine oder andere die WLAN-Software "ekahau heatmapper".
Ich möchte etwas ähnliches erstellen doch für Messdaten aus z. b. einer .csv Datei und damit DECT Messungen darstellen.
Ich möchte die Anwendung als WindowsForms erstellen.

Meine bisherigen Fragen:
- Welches Element macht hier sinn um den Hintergrund und die transparente Heatmap dar zu stellen?
- In welcher form sollten die Daten gehalten werden, evtl. als Array oder doch als eingebundene Datenbank im XML Format?
- Kann man z. b. Drei Messpunkte haben und je nach Skalierung mehr oder weniger Interpolationsschritte zwischen den Punkten errechnen um Farbübergänge feiner zu gestalten?

Womit soll ich nur anfangen?

Gruß

_________________
Gute Fragen sind wie ein wissenschaftliches Experiment. Sie setzen eine Menge Wissen bereits voraus.
bitcoin:1J5dgQQp8eUy8wkUxyztBUVCkCpo5MQEQs?label=Danke
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4010
Erhaltene Danke: 824

Win7
C++, C# (VS 2015/17)
BeitragVerfasst: Sa 15.12.18 11:43 
Hallo,

als Anfang kannst du dir mal Creating Heat Maps with C# .NET ansehen und nachbauen (also Bitmap intern erstellen und z.B. in einer PictureBox oder auf einem Panel anzeigen).
Transparenz unter WinForms ist jedoch etwas eingeschränkt - zum Einlesen und Ausprobieren: Transparency Tutorial with C# - Part 1 - 3.

Und für Farbverläufe gibt es LinearGradientBrush: Gewusst wie: Erstellen eines linearen Farbverlaufs.
avoid Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 206
Erhaltene Danke: 4

WinXP32, Win764
msl, html, php, Java, Basic, C# (VS 2010 Pro)
BeitragVerfasst: Sa 15.12.18 20:36 
Danke schon mal für die Tips.

Die Links hatte ich mir zuvor auch schon kurz angesehen dachte aber das währe nicht das richtige. Dann werde ich sie mal genauer lesen und nachbauen.
Genau, an eine PictureBox oder ein Panel dachte ich auch, bin mir nur nicht sicher ob die Funktionen und Methoden der Elemente genügen. Das werde ich ja sehen wenn ich die Links durch gearbeitet habe.

Ich hab mal ein kleines Tool angehangen womit ich die Daten erfassen will die später dargestellt werden sollen.
Bis auf das selektieren einer Zeile mit rechtsklick funktioniert alles nötige um die Daten quasi per Hand ein zu geben und daraus eine .XML zu erstellen.
Einloggen, um Attachments anzusehen!
_________________
Gute Fragen sind wie ein wissenschaftliches Experiment. Sie setzen eine Menge Wissen bereits voraus.
bitcoin:1J5dgQQp8eUy8wkUxyztBUVCkCpo5MQEQs?label=Danke
avoid Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 206
Erhaltene Danke: 4

WinXP32, Win764
msl, html, php, Java, Basic, C# (VS 2010 Pro)
BeitragVerfasst: Mo 17.12.18 01:57 
Also die graue Heatmap in einer PictureBox zu erstellen klappt und den Code verstehe ich auch zu gut 70%. Ich habe auch das mit den Farben und den gewünschten Abstufungen hin bekommen. Die im Beispiel verwendete Bitmapdatei werde ich noch durch ein "LinearGradientBrush" ersetzen um die Bitmappalette zu füllen, wenn das geht.

Ich habe dann noch etwas rum gebastelt und frage nun die Koordinaten der Maus beim klicken in die PictureBox ab. Damit kann ich die Messdaten eingeben und diese incl. der Koordinaten in die Datenbank speichern. Natürlich auch die PictureBox entsprechend einfärben.

Das mit der Transparenz fehlt mir noch. Um das Alphablending zu verstehen hab ich heute nicht die Konzentration.
Ich suche noch nach einer Lösung um den Inhalt einer TextBox in ein Byte zu übergeben ohne das ungültige eingaben auftreten können. Vermutlich werde ich dafür Dropdown ComboBox mit fester Auswahl verwenden. Auch das rein laden des Hintergrund fehlt noch aber das hatte ich schon in einem anderen kleinen Tool ausprobiert. Die Skalierung gefällt mir auch noch nicht so recht, da muss ich auch noch etwas basteln. Über das speichern und/oder drucken des Ergebnis hab ich mir auch noch keine Gedanken gemacht.

Ich komme auf jeden fall voran.
Hab euch wieder das Projekt angehangen wie es aktuell ist.
Verbesserungsvorschläge sind willkommen.

Gruß
Einloggen, um Attachments anzusehen!
_________________
Gute Fragen sind wie ein wissenschaftliches Experiment. Sie setzen eine Menge Wissen bereits voraus.
bitcoin:1J5dgQQp8eUy8wkUxyztBUVCkCpo5MQEQs?label=Danke