08.06.2009, 12:34
Beitrag #1
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
Abbildung auf Frontpanel als "ImageMap" implementieren
Moin zusammen,
ich würde gerne auf dem Frontpanel eine Grafik unterbringen. Je nachdem in welchen bereich (bei mir sinds 5 bereiche) dieser Grafik man klickt, sollen unterschiedliche events ausgelöst werden. Die Bereiche sollten nicht auf Rechteckige Formen begrenzt sein.
Eine alternative wäre es, mehrere Grafiken auf dem FP unterzubringen. Allerdings weiß ich nichtmal, wie man ein Bild auf das FP legt, das nicht rechteckig ist.
Meine erste Idee wäre, eine grafik mit 5 einfarbigen bereichen zu erstellen, darüber lege ich dann die tatsächliche grafik. dann prüfe ich auf mausklick und unterscheide abhängig von den x-y-koordinaten welche farbe geklickt wurde.
Finde das allerdings relativ aufwändig und überlege noch nach besseren lösungen.
Für tipps, schlagwörter, beispiele, ideen, fertige lösungen und freundliches auf die schultergeklopfe bin ich wie immer dankbar.
LG
Torsten
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
08.06.2009, 13:29
Beitrag #2
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Abbildung auf Frontpanel als "ImageMap" implementieren
Klingt irgendwie kompliziert. Fang doch das Maus-Klick-Event auf dem Bild per Event ab, und dann liest du per Property-Node die Position der Maus im Bild aus. Danach kommt deine Auswertung, wo du im Bild geklickt hast:
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
08.06.2009, 13:36
Beitrag #3
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
Abbildung auf Frontpanel als "ImageMap" implementieren
das würde bedeuten, dass ich zu jedem X-Y-koordinatenpaar weiß, zu welchem bereich es gehört. und genau das würde ich gerne irgendwie in der grafik verankern. die frage ist also eigentlich, ob ich eine grafik, in verschiedene bereiche unterteilen kann.
also ich scheiter an der auswertung der klickkoordinaten.
LG
Torsten
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
08.06.2009, 14:16
Beitrag #4
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
Abbildung auf Frontpanel als "ImageMap" implementieren
ich geb mal ein bissl material dazu was ich zur zeit habe:
mein vi in :
Unbenannt_2.vi (Größe: 247,87 KB / Downloads: 349)
die bitmaps (gezippt wegen uploadverbot):
bitmaps.zip (Größe: 227,59 KB / Downloads: 259)
das zipfile beinhaltet einmal die grafik wie sie angezeigt werden sollte (lueftung.bmp) und einmal die grafik die ich momentan verwende, um bereiche nach farben zu unterscheiden.
anhand der angeklickten farbe könnte ich nun in einer casestruktur die unterschiedlichen bereiche abfangen.
ich habe allerdings noch ein problem damit, lueftung.bmp über schema.bmp zu legen und trotzdem die richtigen farben zu erhalten.
:-(
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
08.06.2009, 14:43
(Dieser Beitrag wurde zuletzt bearbeitet: 08.06.2009 14:49 von jg.)
Beitrag #5
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Abbildung auf Frontpanel als "ImageMap" implementieren
Alternativer Vorschlag: Anfang wie oben, dann schaust du an Hand der zurückgelieferten Koordinaten nach, welche Farbe das entsprechende Pixel in deinem schema.bmp hat?! Somit bist du weiterhin flexibel, und musst dich nicht mit dem Übereinanderlegen der Bilder rumärgern. (Ich befürchte, das haut sowieso nicht hin, obwohl ich mir noch nicht dein VI angeschaut habe).
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
08.06.2009, 14:50
(Dieser Beitrag wurde zuletzt bearbeitet: 08.06.2009 14:52 von TSC.)
Beitrag #6
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
Abbildung auf Frontpanel als "ImageMap" implementieren
gute idee, das versuch ich mal.
Ergebnis:
Unbenannt_2.vi (Größe: 17,26 KB / Downloads: 234)
das funktioniert soweit, trotzdem finde ich es nachwievor aufwendig. also wer schöne alternativen kennt. immer her damit.
LG
Torsten
EDIT:
in meinem VI plaziere ich die grafik schema.bmp genau unter der grafik lueftung.bmp, das ist natürlich nciht nötig.
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
08.06.2009, 14:59
Beitrag #7
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Abbildung auf Frontpanel als "ImageMap" implementieren
Unnötiges Anzeigen des Schema und unnötige Sequenz, dann wird's schon etwas übersichtlicher (vgl. meinen nachträglichen Screenshot).
Ich finde, so ist es doch relativ einfach und flexibel. Die Klickbereiche legst du durch das Schema-Bild fest, da müssen die Bereiche auch nicht rechteckig sein. Einzige Bedingung jetzt: Source-Bild und Schema-Bild müssen gleich groß sein.
Worauf du theoretisch/praktisch verzichten kannst: Resize des Picture-Control. Wenn du die PropertyNode Zoom Factor setzt, kannst du ein zu großes oder zu kleines Bild auf den gewüschten Anzeige-Bereich skalieren. Die PropertyNode "Mouse" gibt dir trotzdem noch die Koordintaten in Pixeln des Original-Bildes zurück.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
08.06.2009, 15:05
Beitrag #8
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
Abbildung auf Frontpanel als "ImageMap" implementieren
ja die änderungen habe ich gemacht, ganz ohne sequenz gehts aber nicht oder? sonst setzt er mir "grafik" evtl. erst nachdem ich die schleife ausgeführt habe.
Unbenannt_2.vi (Größe: 14,38 KB / Downloads: 266)
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
08.06.2009, 15:14
Beitrag #9
|
|
|
08.06.2009, 15:21
(Dieser Beitrag wurde zuletzt bearbeitet: 08.06.2009 15:22 von jg.)
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Abbildung auf Frontpanel als "ImageMap" implementieren
Naja, für die Sequenzierung bei der Größenskalierung habe ich durch den Errorcluster gesorgt. Das Schreiben in das Picture-Control erfolgt ohne Sequenz theoretisch zu einem beliebigen Zeitpunkt, aber unabhängig von der While-Loop, und somit "parallel". Es wird also auf jeden Fall recht schnell gesetzt. Wenn du ganz sicher gehen willst, kannt du natürlich auch in die PropertyNode "Value" schreiben, denn die PropertyNode verwendest du sowieso schon, also ist der zusätzliche Overhead egal. (einziger kleiner Nachteil: zwecks meines Wissens nach immer noch bestehenden Bugs erzeugt erzeugt eine aufgezogene PropertyNode nicht nur ein FP-Update, sondern für jeden einzelne einen. Ich hoffe, dass war verständlich ...)
Gruß, Jens
@rasta: Nette Idee, aber damit wären wir wieder bei nur rechteckigen Bereichen.
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
| |