new_extern_windowT_new_extern_windowNewExternWindowNewExternWindownew_extern_window (Operator)

Name

new_extern_windowT_new_extern_windowNewExternWindowNewExternWindownew_extern_window — Erzeugen eines virtuellen Grafikfensters unter Windows.

Signatur

new_extern_window( : : WINHWnd, Row, Column, Width, Height : WindowHandle)

Herror T_new_extern_window(const Htuple WINHWnd, const Htuple Row, const Htuple Column, const Htuple Width, const Htuple Height, Htuple* WindowHandle)

void NewExternWindow(const HTuple& WINHWnd, const HTuple& Row, const HTuple& Column, const HTuple& Width, const HTuple& Height, HTuple* WindowHandle)

void HWindow::NewExternWindow(void* WINHWnd, Hlong Row, Hlong Column, Hlong Width, Hlong Height)

static void HOperatorSet.NewExternWindow(HTuple WINHWnd, HTuple row, HTuple column, HTuple width, HTuple height, out HTuple windowHandle)

void HWindow.NewExternWindow(IntPtr WINHWnd, int row, int column, int width, int height)

def new_extern_window(winhwnd: int, row: int, column: int, width: int, height: int) -> HHandle

Beschreibung

new_extern_windownew_extern_windowNewExternWindowNewExternWindowNewExternWindownew_extern_window öffnet ein neues virtuelles Fenster. Bitte beachten Sie, dass das nur auf Windows-Systemen funktioniert und Zeichenobjekte nicht unterstützt sind.

Virtuell bedeutet hier, dass kein neues Fenster erstellt wird, sondern dass das Fenster, dessen Window-Handle im Parameter WINHWndWINHWndWINHWndWINHWndWINHWndwinhwnd übergeben wird, zur Ausgabe von Grauwertdaten, Regionen, Grafik sowie für Textausgabe verwendet wird.

Auf Mausinteraktionen basierende Operatoren wie zum Beispiel draw_rectangle1 können auf externen Fenstern nicht verwendet werden. Die folgenden Operatoren können verwendet werden:

Die aktuell gesetzten Werte können mit Operatoren wie get_shapeget_shapeGetShapeGetShapeGetShapeget_shape abgefragt werden. Da einige Parameter durch die Hardware (Auflösung/Farben) bestimmt werden, kann man mit Operatoren wie query_colorquery_colorQueryColorQueryColorQueryColorquery_color die aktuell verfügbaren Ressourcen abfragen.

Im Parameter WINHWndWINHWndWINHWndWINHWndWINHWndwinhwnd wird der Fensterhandle des Windows-Fensters übergeben, in das die Ausgaben von HALCON erfolgen sollen.

Der Ursprung des Koordinatensystems des Fensters liegt in der linken oberen Ecke (Koordinaten: (0,0)). Nach unten nimmt der Zeilenindex zu (maximal: Fensterhöhe-1), nach rechts steigt der Spaltenindex (maximal: Fensterbreite-1) an.

Für die Parameter WidthWidthWidthWidthwidthwidth und HeightHeightHeightHeightheightheight kann der Wert -1 als Größe verwendet werden. Dies bedeutet, dass der entsprechende Wert automatisch bestimmt werden soll. Dies ist insbesondere dann von Bedeutung, wenn das Pixelverhältnis nicht gleich 1.0 ist (siehe set_systemset_systemSetSystemSetSystemSetSystemset_system). Wird einer der beiden Parameter als -1 angegeben, so wird er durch die Größe bestimmt, die sich aus dem Pixelverhältnis ergibt. Werden beide Parameter mit -1 festgelegt, so werden sie auf das aktuelle Bildformat gesetzt.

Die Position und Größe des Fensters kann sich im Laufe des Programms ändern, z.B. durch externe Eingriffe (Window-Manager). Mit dem Operator set_window_extentsset_window_extentsSetWindowExtentsSetWindowExtentsSetWindowExtentsset_window_extents kann die Größe des (externen) Fensters auch vom Programm aus geändert werden. Beachten Sie bitte, dass set_window_extentsset_window_extentsSetWindowExtentsSetWindowExtentsSetWindowExtentsset_window_extents auch die Position von Fenstern ändern könnte, allerdings die Position eines externen Fensters unter Windows nicht geändert werden kann.

Die Farbe für Grafik und Schrift, die für Ausgabeprozeduren wie disp_regiondisp_regionDispRegionDispRegionDispRegiondisp_region oder disp_circledisp_circleDispCircleDispCircleDispCircledisp_circle verwendet wird, wird mit set_rgbset_rgbSetRgbSetRgbSetRgbset_rgb, set_hsiset_hsiSetHsiSetHsiSetHsiset_hsi oder set_grayset_graySetGraySetGraySetGrayset_gray festgelegt. Mit set_insertset_insertSetInsertSetInsertSetInsertset_insert wird eingestellt, wie die Grafik mit dem Inhalt des Bildwiederholspeichers verknüpft wird. Hierbei kann z.B. mit set_insert(::'not':)set_insert("not")SetInsert("not")SetInsert("not")SetInsert("not")set_insert("not") erreicht werden, dass nach zweimaligem Zeichnen eines Kreises an der gleichen Position dieser wieder beseitigt wird.

Der Inhalt von Fenstern wird nicht gesichert, falls sich Fenster überlappen. Dies muss durch den Programmcode, der das Windows-Fenster verwaltet, sichergestellt werden.

Für die Ausgabe von Grafik (disp_imagedisp_imageDispImageDispImageDispImagedisp_image,disp_regiondisp_regionDispRegionDispRegionDispRegiondisp_region, etc.) kann mit dem Operator set_partset_partSetPartSetPartSetPartset_part das Fenster so eingestellt werden, dass es einen logischen Ausschnitt des Bildformates darstellt. Dies hat insbesondere zur Folge, dass von Bildern und Regionen lediglich dieser Ausschnitt (entsprechend vergrößert) ausgegeben wird. Bevor Sie Ihr Fenster schließen, müssen Sie das HALCON-Fenster schließen.

Achtung

Es ist zu beachten, dass die Parameter RowRowRowRowrowrow, ColumnColumnColumnColumncolumncolumn, WidthWidthWidthWidthwidthwidth und HeightHeightHeightHeightheightheight durch das Ausgabegerät, d.h. die Größe des Windows-NT-Desktops, beschränkt sind. Ebenso ist zu beachten, dass sich auf Mausinteraktionen basierende Operatoren wie zum Beispiel draw_rectangle1 auf externen Fenstern nicht verwenden lassen.

Ausführungsinformationen

Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.

Parameter

WINHWndWINHWndWINHWndWINHWndWINHWndwinhwnd (input_control)  pointer HTupleintHTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)

Windows-Fensterhandle eines vorher geöffneten Fensters.

Restriktion: WINHWnd != 0

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

Zeilenkoordinate der linken oberen Ecke.

Defaultwert: 0

Restriktion: Row >= 0

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

Spaltenkoordinate der linken oberen Ecke.

Defaultwert: 0

Restriktion: Column >= 0

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

Breite des Fensters.

Defaultwert: 512

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

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

Höhe des Fensters.

Defaultwert: 512

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

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

Fenster-Handle.

Beispiel (C++ (HALCON 5.0-10.0))

// Needs to be embedded into an application framework,
// see examples/cpp/mfc/MatchingExtWin.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert new_extern_windownew_extern_windowNewExternWindowNewExternWindowNewExternWindownew_extern_window den Wert TRUE. Andernfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

reset_obj_dbreset_obj_dbResetObjDbResetObjDbResetObjDbreset_obj_db

Nachfolger

set_colorset_colorSetColorSetColorSetColorset_color, query_window_typequery_window_typeQueryWindowTypeQueryWindowTypeQueryWindowTypequery_window_type, get_window_typeget_window_typeGetWindowTypeGetWindowTypeGetWindowTypeget_window_type, set_window_typeset_window_typeSetWindowTypeSetWindowTypeSetWindowTypeset_window_type, get_mpositionget_mpositionGetMpositionGetMpositionGetMpositionget_mposition, set_tpositionset_tpositionSetTpositionSetTpositionSetTpositionset_tposition, set_tshapeset_tshapeSetTshapeSetTshapeSetTshapeset_tshape, set_window_extentsset_window_extentsSetWindowExtentsSetWindowExtentsSetWindowExtentsset_window_extents, get_window_extentsget_window_extentsGetWindowExtentsGetWindowExtentsGetWindowExtentsget_window_extents, query_colorquery_colorQueryColorQueryColorQueryColorquery_color, set_checkset_checkSetCheckSetCheckSetCheckset_check, set_systemset_systemSetSystemSetSystemSetSystemset_system

Alternativen

open_windowopen_windowOpenWindowOpenWindowOpenWindowopen_window

Siehe auch

open_windowopen_windowOpenWindowOpenWindowOpenWindowopen_window, disp_regiondisp_regionDispRegionDispRegionDispRegiondisp_region, disp_imagedisp_imageDispImageDispImageDispImagedisp_image, disp_colordisp_colorDispColorDispColorDispColordisp_color, set_lutset_lutSetLutSetLutSetLutset_lut, query_colorquery_colorQueryColorQueryColorQueryColorquery_color, set_colorset_colorSetColorSetColorSetColorset_color, set_rgbset_rgbSetRgbSetRgbSetRgbset_rgb, set_hsiset_hsiSetHsiSetHsiSetHsiset_hsi, set_pixelset_pixelSetPixelSetPixelSetPixelset_pixel, set_grayset_graySetGraySetGraySetGrayset_gray, set_partset_partSetPartSetPartSetPartset_part, set_part_styleset_part_styleSetPartStyleSetPartStyleSetPartStyleset_part_style, query_window_typequery_window_typeQueryWindowTypeQueryWindowTypeQueryWindowTypequery_window_type, get_window_typeget_window_typeGetWindowTypeGetWindowTypeGetWindowTypeget_window_type, set_window_typeset_window_typeSetWindowTypeSetWindowTypeSetWindowTypeset_window_type, get_mpositionget_mpositionGetMpositionGetMpositionGetMpositionget_mposition, set_tpositionset_tpositionSetTpositionSetTpositionSetTpositionset_tposition, set_window_extentsset_window_extentsSetWindowExtentsSetWindowExtentsSetWindowExtentsset_window_extents, get_window_extentsget_window_extentsGetWindowExtentsGetWindowExtentsGetWindowExtentsget_window_extents, set_window_attrset_window_attrSetWindowAttrSetWindowAttrSetWindowAttrset_window_attr, set_checkset_checkSetCheckSetCheckSetCheckset_check, set_systemset_systemSetSystemSetSystemSetSystemset_system

Modul

Foundation