KlassenKlassenKlassenKlassen | | | | Operatoren

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.

Wählen Sie oben rechts eine andere Programmiersprache aus.

dev_open_windowdev_open_windowDevOpenWindowdev_open_windowDevOpenWindowDevOpenWindow (Operator)

Name

dev_open_windowdev_open_windowDevOpenWindowdev_open_windowDevOpenWindowDevOpenWindow — Öffnen eines neuen Grafikfensters.

Signatur

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

Herror dev_open_window(const Hlong Row, const Hlong Column, const Hlong Width, const Hlong Height, const Hlong Background, Hlong* WindowHandle)

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

Herror dev_open_window(const HTuple& Row, const HTuple& Column, const HTuple& Width, const HTuple& Height, const HTuple& Background, Hlong* WindowHandle)

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

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)

void HOperatorSetX.DevOpenWindow(
[in] VARIANT Row, [in] VARIANT Column, [in] VARIANT Width, [in] VARIANT Height, [in] VARIANT Background, [out] VARIANT* WindowHandle)

void HWindowX.DevOpenWindow(
[in] Hlong Row, [in] Hlong Column, [in] Hlong Width, [in] Hlong Height, [in] VARIANT 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_windowDevOpenWindowdev_open_windowDevOpenWindowDevOpenWindow ö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_imageDispImagedisp_imageDispImageDispImage, disp_regiondisp_regionDispRegiondisp_regionDispRegionDispRegion, draw_circledraw_circleDrawCircledraw_circleDrawCircleDrawCircle, get_mbuttonget_mbuttonGetMbuttonget_mbuttonGetMbuttonGetMbutton, write_stringwrite_stringWriteStringwrite_stringWriteStringWriteString, set_rgbset_rgbSetRgbset_rgbSetRgbSetRgb, usw., erwarten die logische Fensternummer als Eingabeparameter. Diese wird im Parameter WindowHandleWindowHandleWindowHandleWindowHandleWindowHandlewindowHandle zurückgeliefert und in der Titelzeile ausgegeben.

Die Hintergrundfarbe des Grafikfensters wird über den Parameter BackgroundBackgroundBackgroundBackgroundBackgroundbackground gesetzt. Dieser Parameter ist beim HALCON-Operator open_windowopen_windowOpenWindowopen_windowOpenWindowOpenWindow nicht verfügbar. Um das gleiche Verhalten zu erreichen wie mit dev_open_windowdev_open_windowDevOpenWindowdev_open_windowDevOpenWindowDevOpenWindow muss vor dem Öffnen des Fensters set_window_attr(::'background_color',Background:)set_window_attr("background_color",Background)SetWindowAttr("background_color",Background)set_window_attr("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_windowDevCloseWindowdev_close_windowDevCloseWindowDevCloseWindow 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_partDevSetPartdev_set_partDevSetPartDevSetPart.

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_imageDispImagedisp_imageDispImageDispImage oder disp_regiondisp_regionDispRegiondisp_regionDispRegionDispRegion, ausgegeben wurden, Texte (write_stringwrite_stringWriteStringwrite_stringWriteStringWriteString) und geometrische Objekte (disp_linedisp_lineDispLinedisp_lineDispLineDispLine, disp_circledisp_circleDispCircledisp_circleDispCircleDispCircle, 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_displayDevDisplaydev_displayDevDisplayDevDisplay 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_colorDevSetColordev_set_colorDevSetColorDevSetColor, dev_set_line_widthdev_set_line_widthDevSetLineWidthdev_set_line_widthDevSetLineWidthDevSetLineWidth, dev_set_drawdev_set_drawDevSetDrawdev_set_drawDevSetDrawDevSetDraw, 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_windowOpenWindowopen_windowOpenWindowOpenWindow. 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

RowRowRowRowRowrow (input_control)  rectangle.origin.y HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Zeilenindex der linken oberen Ecke.

Defaultwert: 0

Typischer Wertebereich: 0 ≤ Row Row Row Row Row row

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

Restriktion: Row >= 0

ColumnColumnColumnColumnColumncolumn (input_control)  rectangle.origin.x HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Spaltenindex der linken oberen Ecke.

Defaultwert: 0

Typischer Wertebereich: 0 ≤ Column Column Column Column Column column

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

Restriktion: Column >= 0

WidthWidthWidthWidthWidthwidth (input_control)  rectangle.extent.x HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Breite des Fensters.

Defaultwert: 512

Typischer Wertebereich: 0 ≤ Width Width Width Width Width width

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

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

HeightHeightHeightHeightHeightheight (input_control)  rectangle.extent.y HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Höhe des Fensters.

Defaultwert: 512

Typischer Wertebereich: 0 ≤ Height Height Height Height Height height

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

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

BackgroundBackgroundBackgroundBackgroundBackgroundbackground (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*) (Hlong / BSTR) (Hlong / char*)

Hintergrundfarbe des neuen Fensters.

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

WindowHandleWindowHandleWindowHandleWindowHandleWindowHandlewindowHandle (output_control)  window HWindow, HTupleHTupleHTupleHWindowX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

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_windowDevOpenWindowdev_open_windowDevOpenWindowDevOpenWindow den Wert 2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt und ein Fehlercode zurückgeliefert.

Nachfolger

dev_displaydev_displayDevDisplaydev_displayDevDisplayDevDisplay, dev_set_lutdev_set_lutDevSetLutdev_set_lutDevSetLutDevSetLut, dev_set_colordev_set_colorDevSetColordev_set_colorDevSetColorDevSetColor, dev_set_drawdev_set_drawDevSetDrawdev_set_drawDevSetDrawDevSetDraw, dev_set_partdev_set_partDevSetPartdev_set_partDevSetPartDevSetPart

Alternativen

open_windowopen_windowOpenWindowopen_windowOpenWindowOpenWindow

Siehe auch

query_colorquery_colorQueryColorquery_colorQueryColorQueryColor

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren