Halcon算⼦翻译——dev_open_window
名称
dev_open_window - 打开⼀个新的图形窗⼝。
⽤法
dev_open_window( : : Row, Column, Width, Height, Background : WindowHandle)
描述
dev_open_window打开⼀个新的图形窗⼝,可以⽤来显⽰images,regions和lines等图形对象以及显⽰输出⽂本。该窗⼝⾃动变为活动状态,这意味着所有输出(dev_display和⾃动显⽰等算⼦的结果)都被重定向到此窗⼝。活动按钮上的朗光灯表⽰该窗⼝是否处于活动状态。
标准HALCON显⽰,绘图,⿏标,⽂本输出和可视化参数算⼦(如
disp_image,disp_region,draw_circle,get_mbutton,write_string,set_rgb等)需要在参数WindowHandle中返回的逻辑窗⼝号,它显⽰在图形窗⼝的标题栏。
Background中指定的颜⾊为创建的窗⼝背景颜⾊。该参数不适⽤于算⼦open_window。在那⾥,需要通过预先调⽤
set_window_attr(::'background_color',Background :)可以实现相同的⾏为。
关闭图形窗⼝可以通过按下窗⼝框的关闭按钮或通过可视化菜单,或者通过调⽤dev_close_window。
图形窗⼝的原点是坐标为(0,0)的左上⾓。 x值(column)从左到右增加,y值(row)从上到下增加。默认情况下,坐标系的设置⽅式是在不剪切图像的情况下显⽰图像,并完全适合图形窗⼝。对于在程序重置或新程序加载之后显⽰的第⼀图像,或者如果当前图像具有与之前显⽰的图像不同的图像⼤⼩,根据此规则,坐标系会适应于窗⼝⼤⼩。窗⼝的⼤⼩不会⾃动调整,因此,如果图像的宽⾼⽐与窗⼝的长宽⽐不同,则图像会变形以适合窗⼝。这可以通过“窗⼝⼤⼩”菜单进⾏更改。
通过滚动⿏标滚轮,使⽤“移动”或“缩放”模式,通过“图像⼤⼩”菜单,借助“可视化参数”对话框上的“缩放”选项卡或使⽤操作符dev_set_part,可以交互式更改可见图像部分。
每个图形窗⼝都有⼀个历史记录,包含:
objects
显⽰参数
历史记录会记录从最近的清除动作或显⽰全图像以来已经显⽰或改变了的图形。如果窗⼝的重绘被触发,例如在改变窗⼝尺⼨之后,为了重建完整的窗⼝内容会利⽤历史记录。其他使⽤HALCON算⼦(如disp_image或disp_region,text(write_string)或geometric对象
(disp_line,disp_circle等))显⽰的图形输出不是历史记录的⼀部分,因此不能重绘。只有使⽤HDevelop操作符dev_display或HDevelop操作(如双击图标)显⽰的对象类image,region和XLD才是历史记录的⼀部分。
按清空按钮清除图形窗⼝的内容和窗⼝的历史。这也可以通过使⽤算⼦dev_clear_window来实现。这不会影响当前的显⽰参数。
图形窗⼝的⼤⼩可以通过⽤⿏标拖动窗⼝边界交互地改变。此外,可以通过“窗⼝⼤⼩”菜单将窗⼝⼤⼩调整为图像⼤⼩(或其⼀部分或它的多倍)。之后,使⽤与以前相同的可视部分⾃动重新显⽰窗⼝内容(Afterwards, the window content is redisplayed automatically using the same visible part as before.)。
图形窗⼝的显⽰参数可以通过其context menu,可视化菜单,可视化参数对话框或适当的HDevelop算⼦(如
dev_set_color,dev_set_line_width,dev_set_draw)来指定。根据“⽴即应⽤”⾸选项,参数更改将应⽤于最后显⽰的对象,或者从现在开始应⽤于所有后续对象。与标准的HALCON窗⼝算⼦相反,新的设置也⽤于所有新的图形窗⼝。
有关HALCON窗⼝的更多底层信息,请参见“HDevelop Reference Manual”以及“HDevelop⽤户指南”的Graphical User Interface -> Graphics Window⼀章。
注意
使⽤HDevelop的代码导出功能,为该算⼦⽣成的代码可能与相关的HALCON算⼦具有不同的⾏为。有关将HDevelop图形算⼦导出为不同编程语⾔的代码的详细说明,请参阅“HDevelop User's Guide”中的 Code Export -> General Aspects of Code Generation -> Graphics Windows⼀章。
参数
Row (input_control) igin.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) igin.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) x → (integer)
Width of the window.
Default value: 256
Typical range of values: 0 ≤ Width
Minimum increment: 1
Recommended increment: 1
Restriction: (Width > 0) || (Width == -1)
Height (input_control) y → (integer)
Height of the window.
Default value: 256
values翻译 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 → (integer)
Window identifier.
⽰例(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)
结果
如果指定参数的值正确,则dev_open_window返回2(H_MSG_TRUE)。否则会引发异常并返回错误代码。Possible Successors
dev_display, dev_set_lut, dev_set_color, dev_set_draw, dev_set_part
备选算⼦
open_window
See also
query_color
模块
Foundation
HDevelop例程
stamp_catalogue.hdev Segment and group characters on a cluttered page
pm_illu_rectify.hdev Find a rotated pattern using a gray-value template and align the image to the pattern measure_screw.hdev Measure several features of a screw
fit_ellipse_tooth_rim_xld.hdev Approximate the contour of a tooth rim with an ellipse to find its center
find_pads.hdev Find pads on a die
display_operators.hdev Visualize results
dev_open_window.hdev Open graphics windows in HDevelop
dev_close_window.hdev Close graphics windows in HDevelop
critical_points_sub_pix.hdev Detect critical points with subpixel accuracy
clip_contours_xld.hdev Clip an XLD contour
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论