dev_open_window
— Öffnen eines neuen Grafikfensters.
dev_open_window( : : Row, Column, Width, Height, Background : WindowHandle)
dev_open_window
öffnet ein neues Grafikfenster, in dem ikonische
Objekte wie Bilder, Regionen und Linien sowie Text und geometrische
Objekte ausgegeben werden können.
Nach dem Öffnen ist automatisch das neue Grafikfenster aktiv, d.h. dass
alle HDevelop-Ausgabeoperatoren sich auf dieses Grafikfenster beziehen.
Das aktive Grafikfenster erkennt man an der leuchtenden Lampe im
Aktivierungsknopf.
Die HALCON-Fensteroperatoren für Objektausgabe, Zeichnen, Mausabfrage,
Textausgabe und zum Setzen der Visualisierungsparameter wie
disp_image
, disp_region
, draw_circle
,
get_mbutton
, write_string
, set_rgb
, usw.,
erwarten die logische Fensternummer als Eingabeparameter.
Diese wird im Parameter WindowHandle
zurückgeliefert und in der
Titelzeile ausgegeben.
Die Hintergrundfarbe des Grafikfensters wird über den Parameter
Background
gesetzt.
Dieser Parameter ist beim HALCON-Operator open_window
nicht
verfügbar.
Um das gleiche Verhalten zu erreichen wie mit dev_open_window
muss vor dem Öffnen des Fensters
set_window_attr(::'background_color',Background:)
aufgerufen werden.
Mithilfe des Schließen
-Knopfes im Fensterrahmen, über das
Visualisierungsmenü
oder durch Aufruf von dev_close_window
kann das Grafikfenster geschlossen werden.
Das Koordinatensystem des Grafikfensters hat seinen Ursprung (0,0) in der
linken oberen Ecke.
Die X-Werte (Spalten) laufen von links nach rechts, die Y-Werte (Zeilen) von
oben nach unten.
Das Koordinatensystem wird per Default so eingestellt, dass das aktuelle Bild
vollständig ausgegeben wird und das Fenster dabei vollständig ausgefüllt
wird.
Dabei wird das Koordinatensystem entsprechend dieser Vorgabe automatisch
immer dann angepasst, wenn zum ersten Mal nach einem Programmreset bzw. dem
Laden eines neuen Programms ein Bild ausgegeben wird oder wenn das
aktuelle Bild eine andere Bildgröße als das zuletzt ausgegebene besitzt.
Die Fenstergröße wird dabei nicht automatisch angepasst, so dass bei
unterschiedlichen Seitenverhältnissen von Bild und Fenster das Bild
verzerrt ausgegeben wird.
Dies kann über das Menü Fenstergröße
behoben werden.
Der sichtbare Bildausschnitt kann interaktiv verändert werden durch Drehen
des Mausrades, durch Verschieben und Zoomen in den entsprechenden Modi,
über das Menü Bildgröße
und die Zoom
Tabkarte des
Visualisierungs Parameter
Dialogs sowie mit Hilfe des Operators
dev_set_part
.
Jedes Grafikfenster verwaltet eine Historie mit den
Bildobjekten und
Ausgabeparametern
die ausgegeben bzw. eingestellt wurden nach dem letzten Löschen des
Fensterinhalts oder der Ausgabe eines Bildes mit voller Domaine.
Diese Historie wird beim Neuzeichnen des Grafikfensters genutzt, um
beispielsweise bei einer Änderung der Größe des Grafikfensters den
kompletten Fensterinhalt rekonstruieren zu können.
Andere Bildobjekte, die mit Hilfe von HALCON-Operatoren, wie
disp_image
oder disp_region
, ausgegeben wurden, Texte
(write_string
) und geometrische Objekte (disp_line
,
disp_circle
, usw.) sind nicht Bestandteil der Historie
und können daher beim Neuaufbau des Grafikfensters nicht wieder hergestellt
werden.
Nur die Bildobjekte (Bilder, Regionen und XLDs), die mit Hilfe des
HDevelop-Operators dev_display
oder durch HDevelop-Aktionen wie
Doppelklick auf das entsprechende Icon im Variablenfenster ausgegeben
wurden, sind Teil der Historie.
Durch Drücken des Löschen
-Knopfes in der Werkzeugleiste kann der
gesamte Inhalt des Grafikfensters einschließlich der Historie der
ausgegebenen Objekte gelöscht werden.
Die Ausgabeparameter werden dadurch nicht verändert.
Die Größe des Grafikfensters kann interaktiv durch Ziehen des Rahmens
verändert werden.
Darüber hinaus ist es mit Hilfe des Menüs Fenstergröße
möglich, die Fenstergröße an die Größe des Bildes (bzw. ausgewählter
Vielfache und Teiler) anzupassen.
Der Fensterinhalt wird automatisch neu ausgegeben, wobei der gewählte
Ausschnitt erhalten bleibt.
Zum Setzen der Ausgabeparameter des Grafikfensters stehen verschiedene
Möglichkeiten zur Verfügung: das Kontextmenü des Grafikfensters, das
Visualisierungsmenü
im Hauptmenü, der
Visualisierungsparameter
-Dialog und die entsprechenden
HDevelop-Operatoren wie dev_set_color
, dev_set_line_width
,
dev_set_draw
, usw.
In Abhängigkeit von der Auswahlbox Sofort anwenden
werden die
Änderungen unmittelbar auf das zuletzt ausgegebene Bildobjekt angewendet
oder sie gelten erst für alle zukünftigen Objekte.
Im Gegensatz zu den Standard-HALCON-Fensteroperatoren gelten diese
Einstellungen auch für alle Grafikfenster, die danach geöffnet werden.
Weitere Informationen über das dem HDevelop-Grafikfenster zugrundeliegenden
HALCON-Fenster finden sich beim HALCON-Operator open_window
.
Für eine detaillierte Beschreibung des HDevelop-Grafikfensters sei auf das
„HDevelop-Referenzhandbuch“
Kapitel Graphical User Interface
-> Graphics Window
sowie auf den
„HDevelop User's Guide“
verwiesen.
Beim Export von HDevelop-Programmen ist zu beachten, dass der für diesen
Operator generierte Code sich anders verhalten kann, als der entsprechende
HALCON-Operator.
Eine detaillierte Beschreibung der Besonderheiten, die beim Export
von grafischen HDevelop-Operatoren zu beachten sind, findet sich im
„HDevelop User's Guide“ im Kapitel Code Export
-> General Aspects of Code Generation
-> Graphics Windows
.
Row
(input_control) rectangle.origin.y →
(integer)
Zeilenindex der linken oberen Ecke.
Defaultwert: 0
Typischer Wertebereich: 0
≤
Row
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
Restriktion: Row >= 0
Column
(input_control) rectangle.origin.x →
(integer)
Spaltenindex der linken oberen Ecke.
Defaultwert: 0
Typischer Wertebereich: 0
≤
Column
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
Restriktion: Column >= 0
Width
(input_control) rectangle.extent.x →
(integer)
Breite des Fensters.
Defaultwert: 512
Typischer Wertebereich: 0
≤
Width
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
Restriktion: Width > 0 || Width == -1
Height
(input_control) rectangle.extent.y →
(integer)
Höhe des Fensters.
Defaultwert: 512
Typischer Wertebereich: 0
≤
Height
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
Restriktion: Height > 0 || Height == -1
Background
(input_control) integer →
(integer / string)
Hintergrundfarbe des neuen Fensters.
Defaultwert: 'black'
WindowHandle
(output_control) window →
(handle)
Fenster-Handle.
dev_close_window () read_image (For5, 'for5') get_image_size (For5, Width, Height) dev_open_window (0, 0, Width, Height, 'black', WindowHandle) dev_display (For5) dev_set_lut ('rainbow') dev_display (For5) stop () dev_set_lut ('default') dev_display (For5) stop () dev_set_part (100, 100, 300, 300) dev_display (For5)
Sind die Parameterwerte korrekt, dann liefert
dev_open_window
den Wert 2 (H_MSG_TRUE).
Andernfalls wird eine Fehlerbehandlung durchgeführt und ein Fehlercode
zurückgeliefert.
dev_display
,
dev_set_lut
,
dev_set_color
,
dev_set_draw
,
dev_set_part
Foundation