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_windowDevOpenWindowDevOpenWindow (Operator)

Name

dev_open_windowT_dev_open_windowDevOpenWindowDevOpenWindow — Ö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)

Beschreibung

dev_open_windowdev_open_windowDevOpenWindowDevOpenWindowDevOpenWindow ö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_imagedisp_imageDispImageDispImageDispImage, disp_regiondisp_regionDispRegionDispRegionDispRegion, draw_circledraw_circleDrawCircleDrawCircleDrawCircle, get_mbuttonget_mbuttonGetMbuttonGetMbuttonGetMbutton, write_stringwrite_stringWriteStringWriteStringWriteString, set_rgbset_rgbSetRgbSetRgbSetRgb, usw., erwarten die logische Fensternummer als Eingabeparameter. Diese wird im Parameter WindowHandleWindowHandleWindowHandleWindowHandlewindowHandle zurückgeliefert und in der Titelzeile ausgegeben.

Die Hintergrundfarbe des Grafikfensters wird über den Parameter BackgroundBackgroundBackgroundBackgroundbackground gesetzt. Dieser Parameter ist beim HALCON-Operator open_windowopen_windowOpenWindowOpenWindowOpenWindow nicht verfügbar. Um das gleiche Verhalten zu erreichen wie mit dev_open_windowdev_open_windowDevOpenWindowDevOpenWindowDevOpenWindow 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) aufgerufen werden.

Mithilfe des Schließen-Knopfes im Fensterrahmen, über das Visualisierungsmenü oder durch Aufruf von dev_close_windowdev_close_windowDevCloseWindowDevCloseWindowDevCloseWindow 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_partdev_set_partDevSetPartDevSetPartDevSetPart.

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 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_imagedisp_imageDispImageDispImageDispImage oder disp_regiondisp_regionDispRegionDispRegionDispRegion, ausgegeben wurden, Texte (write_stringwrite_stringWriteStringWriteStringWriteString) und geometrische Objekte (disp_linedisp_lineDispLineDispLineDispLine, disp_circledisp_circleDispCircleDispCircleDispCircle, 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_displayDevDisplayDevDisplayDevDisplay 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_colordev_set_colorDevSetColorDevSetColorDevSetColor, dev_set_line_widthdev_set_line_widthDevSetLineWidthDevSetLineWidthDevSetLineWidth, dev_set_drawdev_set_drawDevSetDrawDevSetDrawDevSetDraw, 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_windowopen_windowOpenWindowOpenWindowOpenWindow. 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.

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

RowRowRowRowrow (input_control)  rectangle.origin.y HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Zeilenindex der linken oberen Ecke.

Defaultwert: 0

Typischer Wertebereich: 0 ≤ Row Row Row Row row

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

Restriktion: Row >= 0

ColumnColumnColumnColumncolumn (input_control)  rectangle.origin.x HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Spaltenindex der linken oberen Ecke.

Defaultwert: 0

Typischer Wertebereich: 0 ≤ Column Column Column Column column

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

Restriktion: Column >= 0

WidthWidthWidthWidthwidth (input_control)  rectangle.extent.x HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Breite des Fensters.

Defaultwert: 512

Typischer Wertebereich: 0 ≤ Width Width Width Width width

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

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

HeightHeightHeightHeightheight (input_control)  rectangle.extent.y HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Höhe des Fensters.

Defaultwert: 512

Typischer Wertebereich: 0 ≤ Height Height Height Height height

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

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

BackgroundBackgroundBackgroundBackgroundbackground (input_control)  integer HTupleHTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)

Hintergrundfarbe des neuen Fensters.

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

WindowHandleWindowHandleWindowHandleWindowHandlewindowHandle (output_control)  window HWindow, HTupleHTupleHtuple (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_windowDevOpenWindowDevOpenWindowDevOpenWindow den Wert 2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt und ein Fehlercode zurückgeliefert.

Nachfolger

dev_displaydev_displayDevDisplayDevDisplayDevDisplay, dev_set_lutdev_set_lutDevSetLutDevSetLutDevSetLut, dev_set_colordev_set_colorDevSetColorDevSetColorDevSetColor, dev_set_drawdev_set_drawDevSetDrawDevSetDrawDevSetDraw, dev_set_partdev_set_partDevSetPartDevSetPartDevSetPart

Alternativen

open_windowopen_windowOpenWindowOpenWindowOpenWindow

Siehe auch

query_colorquery_colorQueryColorQueryColorQueryColor

Modul

Foundation