Wählen Sie oben rechts eine andere Programmiersprache aus.

Wählen Sie oben rechts eine andere Programmiersprache aus.

Wählen Sie oben rechts eine andere Programmiersprache aus.

Wählen Sie oben rechts eine andere Programmiersprache aus.

dev_open_windowT_dev_open_windowDevOpenWindowDevOpenWindowdev_open_window (Operator)

Name

dev_open_windowT_dev_open_windowDevOpenWindowDevOpenWindowdev_open_window — Öffnen eines neuen Grafikfensters.

Signatur

dev_open_window( : : Row, Column, Width, Height, Background : WindowHandle)

Herror T_dev_open_window(const Htuple Row, const Htuple Column, const Htuple Width, const Htuple Height, const Htuple Background, Htuple* WindowHandle)

void DevOpenWindow(const HTuple& Row, const HTuple& Column, const HTuple& Width, const HTuple& Height, const HTuple& Background, HTuple* WindowHandle)

void HWindow::DevOpenWindow(Hlong Row, Hlong Column, Hlong Width, Hlong Height, const HTuple& Background)

void HWindow::DevOpenWindow(Hlong Row, Hlong Column, Hlong Width, Hlong Height, Hlong Background)

static void HOperatorSet.DevOpenWindow(HTuple row, HTuple column, HTuple width, HTuple height, HTuple background, out HTuple windowHandle)

void HWindow.DevOpenWindow(int row, int column, int width, int height, HTuple background)

void HWindow.DevOpenWindow(int row, int column, int width, int height, int background)

def dev_open_window(row: int, column: int, width: int, height: int, background: Union[int, str]) -> HHandle

Beschreibung

dev_open_windowdev_open_windowDevOpenWindowDevOpenWindowDevOpenWindowdev_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.

Jedes Grafikfenster wird durch sein WindowHandleWindowHandleWindowHandleWindowHandlewindowHandlewindow_handle identifiziert. Diese logische Nummer wird in der Titelleiste des Grafikfensters angezeigt und wird als Eingabeparameter für einige Operatoren wie disp_imagedisp_imageDispImageDispImageDispImagedisp_image, disp_regiondisp_regionDispRegionDispRegionDispRegiondisp_region, draw_circledraw_circleDrawCircleDrawCircleDrawCircledraw_circle, get_mbuttonget_mbuttonGetMbuttonGetMbuttonGetMbuttonget_mbutton, write_stringwrite_stringWriteStringWriteStringWriteStringwrite_string und set_rgbset_rgbSetRgbSetRgbSetRgbset_rgb benötigt.

Mithilfe des Schließen-Knopfes im Fensterrahmen, über das Visualisierungsmenü oder durch Aufruf von dev_close_windowdev_close_windowDevCloseWindowDevCloseWindowDevCloseWindowdev_close_window kann das Grafikfenster geschlossen werden.

Grafikfenster-Position

Das Grafikfenster wird standardmäßig innerhalb des Canvas-Fensters geöffnet. Ist dies nicht gewünscht, wählen Sie Wiederherstellen des Default Layouts -> Angedocktes Grafikfenster im Fenster-Menu von HDevelop. Siehe auch „Canvas Window“ im „HDevelop User's Guide“.

Mit den Parametern RowRowRowRowrowrow und ColumnColumnColumnColumncolumncolumn wird die Grafikfenster-Position übergeben. Ihr Bezugspunkt (0, 0) im Canvas-Fenster wird durch ein Kreuz visualisiert.

Bei frei beweglichen Grafikfenstern ist der Bezugspunkt standardmäßig die linke obere Ecke des HDevelop-Hauptfensters. Diesen Bezugspunkt können Sie auch ändern, sodass sich die Grafikfenster-Position z.B. an der linken oberen Ecke des Bildschirms ausrichtet. Dazu öffnen Sie die HDevelop-Einstellungen und wählen unter Allgemeine Optionen den gewünschten Koordinatenursprung aus.

Des Weiteren können Sie die Fensterposition über die Einstellung Versatz beim Fenster öffnen justieren. Die dort angegebenen Versatzwerte für den Zeilen- und den Spaltenindex werden zu den Werten RowRowRowRowrowrow und ColumnColumnColumnColumncolumncolumn addiert. Siehe auch „Window open offset“ im „HDevelop User's Guide“.

Grafikfenster-Visualisierung

Die Hintergrundfarbe des Grafikfensters wird über den Parameter BackgroundBackgroundBackgroundBackgroundbackgroundbackground gesetzt. Dieser Parameter ist beim HALCON-Operator open_windowopen_windowOpenWindowOpenWindowOpenWindowopen_window nicht verfügbar. Um das gleiche Verhalten zu erreichen wie mit dev_open_windowdev_open_windowDevOpenWindowDevOpenWindowDevOpenWindowdev_open_window muss vor dem Öffnen des Fensters set_window_attr(::'background_color',Background:)set_window_attr("background_color",Background)SetWindowAttr("background_color",Background)SetWindowAttr("background_color",Background)SetWindowAttr("background_color",Background)set_window_attr("background_color",Background) aufgerufen werden.

Der sichtbare Bildausschnitt im Grafikfenster (viewport) wird per Default so eingestellt, dass das aktuelle Bild vollständig ausgegeben wird und das Fenster dabei vollständig ausgefüllt wird. Dabei wird der Bildausschnitt 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. Entweder 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, oder mit Hilfe des Operators dev_set_partdev_set_partDevSetPartDevSetPartDevSetPartdev_set_part.

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_colordev_set_colorDevSetColorDevSetColorDevSetColordev_set_color, dev_set_line_widthdev_set_line_widthDevSetLineWidthDevSetLineWidthDevSetLineWidthdev_set_line_width, dev_set_drawdev_set_drawDevSetDrawDevSetDrawDevSetDrawdev_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.

Grafikfenster-Historie

Jedes Grafikfenster verwaltet eine Historie mit den

die ausgegeben bzw. eingestellt wurden nach dem letzten Löschen des Fensterinhalts oder der Ausgabe eines Bildes mit voller Domäne. 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_imagedisp_imageDispImageDispImageDispImagedisp_image oder disp_regiondisp_regionDispRegionDispRegionDispRegiondisp_region, ausgegeben wurden, Texte (write_stringwrite_stringWriteStringWriteStringWriteStringwrite_string) und geometrische Objekte (disp_linedisp_lineDispLineDispLineDispLinedisp_line, disp_circledisp_circleDispCircleDispCircleDispCircledisp_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_displaydev_displayDevDisplayDevDisplayDevDisplaydev_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.

Weitere Informationen

Weitere Informationen über das dem HDevelop-Grafikfenster zugrundeliegende HALCON-Fenster finden sich beim HALCON-Operator open_windowopen_windowOpenWindowOpenWindowOpenWindowopen_window. Für eine detaillierte Beschreibung des HDevelop-Grafikfensters sei auf den „HDevelop User's Guide“ verwiesen.

Achtung

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.

Parameter

RowRowRowRowrowrow (input_control)  rectangle.origin.y HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Zeilenindex der linken oberen Ecke.

Defaultwert: 0

Typischer Wertebereich: 0 ≤ Row Row Row Row row row

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

ColumnColumnColumnColumncolumncolumn (input_control)  rectangle.origin.x HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Spaltenindex der linken oberen Ecke.

Defaultwert: 0

Typischer Wertebereich: 0 ≤ Column Column Column Column column column

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

WidthWidthWidthWidthwidthwidth (input_control)  rectangle.extent.x HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Breite des Fensters.

Defaultwert: 512

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

Restriktion: Width > 0 || Width == -1

HeightHeightHeightHeightheightheight (input_control)  rectangle.extent.y HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Höhe des Fensters.

Defaultwert: 512

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

Restriktion: Height > 0 || Height == -1

BackgroundBackgroundBackgroundBackgroundbackgroundbackground (input_control)  integer HTupleUnion[int, str]HTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)

Hintergrundfarbe des neuen Fensters.

Defaultwert: 'black' "black" "black" "black" "black" "black"

WindowHandleWindowHandleWindowHandleWindowHandlewindowHandlewindow_handle (output_control)  window HWindow, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Fenster-Handle.

Beispiel (HDevelop)

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)

Ergebnis

Sind die Parameterwerte korrekt, dann liefert dev_open_windowdev_open_windowDevOpenWindowDevOpenWindowDevOpenWindowdev_open_window den Wert 2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt und ein Fehlercode zurückgeliefert.

Nachfolger

dev_displaydev_displayDevDisplayDevDisplayDevDisplaydev_display, dev_set_lutdev_set_lutDevSetLutDevSetLutDevSetLutdev_set_lut, dev_set_colordev_set_colorDevSetColorDevSetColorDevSetColordev_set_color, dev_set_drawdev_set_drawDevSetDrawDevSetDrawDevSetDrawdev_set_draw, dev_set_partdev_set_partDevSetPartDevSetPartDevSetPartdev_set_part

Alternativen

open_windowopen_windowOpenWindowOpenWindowOpenWindowopen_window

Siehe auch

query_colorquery_colorQueryColorQueryColorQueryColorquery_color

Modul

Foundation