dev_open_window
— Open a new graphics window.
dev_open_window( : : Row, Column, Width, Height, Background : WindowHandle)
dev_open_window
opens a new graphics window, which can be
used to display iconic objects like images, regions, and lines
as well as to perform textual output.
This window automatically becomes active, which means that all output
(dev_display
and automatic display of operator results) is
redirected to this window.
This is shown by the lucent lamp on the Active
button.
The standard HALCON display, drawing, mouse, text output, and
visualization parameter operators (like
disp_image
, disp_region
, draw_circle
,
get_mbutton
, write_string
, set_rgb
, etc.)
need the logical window number that is returned in the parameter
WindowHandle
and displayed in the title bar of the graphics window.
The background of the created window is set to the color specified
in Background
.
This parameter is not available for the operator open_window
.
There, the same behavior can be achieved by calling
set_window_attr(::'background_color',Background:)
in advance.
The graphics window is closed by pressing the Close
button of the
window frame, via the Visualization
menu, or by calling
dev_close_window
.
The origin of the graphics window is the upper left corner with
the coordinates (0,0).
The x values (columns) increase from left to right, the y values (rows)
increase from top to bottom.
As a default, the coordinate system is set in a way that images are
displayed without clipping and fitting completely into the graphics window.
The coordinate system is adapted to the windows size according to this rule
for the first image that is displayed after a program reset or the loading
of a new program or if the current image has a different image size than the
image that was displayed before.
The size of the window is not adapted automatically, hence, if the aspect
ratio of the image differs from that of the window, the image is distorted
to fit into the window.
This can be changed via the Window Size
menu.
The visible image part can be changed interactively by spinning the
mouse wheel, using the Move
or Zoom
mode, via the
Image Size
menu, with the help of the Zoom
tab card on the Visualization Parameters
dialog, or with the
operator dev_set_part
.
Each graphics window manages a history which contains the
objects and
display parameters
which have been displayed or changed since the most recent clear
action or display of a full image.
This history is used if a redraw of the window is triggered,
e.g., after a change of the windows size, in order to reconstruct the
complete window contents.
Other iconic output that was displayed using HALCON operators like
disp_image
or disp_region
, text (write_string
), or
geometric objects (disp_line
, disp_circle
, etc.) are
not part of the history, and can therefore not be redrawn.
Only the object classes image, region, and XLD that are displayed with the
HDevelop operator dev_display
or by HDevelop actions like double
clicking on an icon are part of the history.
Pressing the Clear
button clears the graphics
window contents and the history of the window. This can also be
achieved by using the operator dev_clear_window
.
This will not effect the current display parameters.
The size of the graphics window can be changed interactively by
dragging the window border with the mouse.
Furthermore, it is possible to adapt the window size to the image
size (or a part or multiple of it) via the Window Size
menu.
Afterwards, the window content is redisplayed automatically using the same
visible part as before.
The display parameters of the graphics window can be specified via its
context menu, the Visualization
menu, the
Visualization Parameters
dialog, or the appropriate
HDevelop operators like dev_set_color
, dev_set_line_width
,
dev_set_draw
.
Depending on the Apply Immediately
preference, the parameter changes
are applied to the lastly displayed object or apply from now on for all
following objects.
In contrast to the standard HALCON window operators, the new settings are
also used for all new graphics windows.
Additional information about the underlying HALCON window can be found
at open_window
and about the HDevelop graphics window in the
“HDevelop Reference Manual”
chapter
Graphical User Interface
->
Graphics Window
as well as in the
“HDevelop User's Guide”
.
Using the code export feature of HDevelop, the code that is generated
for this operator may have a different behavior than the related
HALCON operator.
For a detailed description of the code export of HDevelop graphics
operators into the different programming languages see in the
“HDevelop User's Guide” the chapter Code Export
-> General Aspects of Code Generation
-> Graphics Windows
.
Row
(input_control) rectangle.origin.y →
(integer)
Row index of upper left corner.
Default value: 0
Typical range of values: 0
≤
Row
Minimum increment: 1
Recommended increment: 1
Restriction: Row >= 0
Column
(input_control) rectangle.origin.x →
(integer)
Column index of upper left corner.
Default value: 0
Typical range of values: 0
≤
Column
Minimum increment: 1
Recommended increment: 1
Restriction: Column >= 0
Width
(input_control) rectangle.extent.x →
(integer)
Width of the window.
Default value: 512
Typical range of values: 0
≤
Width
Minimum increment: 1
Recommended increment: 1
Restriction: Width > 0 || Width == -1
Height
(input_control) rectangle.extent.y →
(integer)
Height of the window.
Default value: 512
Typical range of values: 0
≤
Height
Minimum increment: 1
Recommended increment: 1
Restriction: Height > 0 || Height == -1
Background
(input_control) integer →
(integer / string)
Color of the background of the new window.
Default value: 'black'
WindowHandle
(output_control) window →
(handle)
Window 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)
If the values of the specified parameters are correct,
dev_open_window
returns 2 (H_MSG_TRUE). Otherwise an
exception is raised and an error code returned.
dev_display
,
dev_set_lut
,
dev_set_color
,
dev_set_draw
,
dev_set_part
Foundation