attach_background_to_windowT_attach_background_to_windowAttachBackgroundToWindowAttachBackgroundToWindowattach_background_to_window附加背景到窗口(算子)
名称
attach_background_to_windowT_attach_background_to_windowAttachBackgroundToWindowAttachBackgroundToWindowattach_background_to_window — 将背景图像附加到 HALCON 窗口。
签名
描述
此算子将通过 ImageImageImageImageimageimage
传递的背景图像附加到 WindowHandleWindowHandleWindowHandleWindowHandlewindowHandlewindow_handle 中定义的 HALCON 窗口。输入图像会被复制,因此可安全释放。
调用 attach_background_to_windowattach_background_to_windowAttachBackgroundToWindowAttachBackgroundToWindowAttachBackgroundToWindowattach_background_to_window 时,背景图像会立即显示在 HALCON 窗口中。调用此算子时,先前显示在窗口中的所有 HALCON 对象仍将保留显示。因此,原有窗口内容不会被覆盖。
窗口内容按以下顺序显示:首先是背景图像,接着是 HALCON 对象,最后是绘图对象。因此绘图对象始终位于最顶层。请注意,每次用户在窗口内进行交互操作以及每次调用 set_partset_partSetPartSetPartSetPartset_part 时,窗口都会被重绘。可通过 clear_windowclear_windowClearWindowClearWindowClearWindowclear_window 将 HALCON 对象从窗口中清除。
可通过算子 detach_background_from_windowdetach_background_from_windowDetachBackgroundFromWindowDetachBackgroundFromWindowDetachBackgroundFromWindowdetach_background_from_window 将背景图像从窗口中移除。
注意
请注意,使用任何主动探测事件队列的同步算子,例如 get_mbuttonget_mbuttonGetMbuttonGetMbuttonGetMbuttonget_mbutton 或 read_charread_charReadCharReadCharReadCharread_char,都会与绘图对象的交互产生冲突。若需读取光标状态,请查阅所选框架的文档以获取合适的、非侵入式替代方案。
此外,基于事件的功能不应与原有的阻塞算子 draw_rectangle1draw_rectangle1DrawRectangle1DrawRectangle1DrawRectangle1draw_rectangle1、draw_rectangle2draw_rectangle2DrawRectangle2DrawRectangle2DrawRectangle2draw_rectangle2、draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region、draw_xlddraw_xldDrawXldDrawXldDrawXlddraw_xld 或
draw_circledraw_circleDrawCircleDrawCircleDrawCircledraw_circle 同时使用。由于这些算子会主动获取发送至 HALCON 窗口的所有事件,因此会与基于事件的功能产生冲突。
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
ImageImageImageImageimageimage (输入对象) singlechannelimage → objectHImageHObjectHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real / complex / vector_field)
背景图像。
WindowHandleWindowHandleWindowHandleWindowHandlewindowHandlewindow_handle (输入控制) window → HWindow, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
窗口句柄。
结果
如果窗口存在且指定参数正确
attach_background_to_windowattach_background_to_windowAttachBackgroundToWindowAttachBackgroundToWindowAttachBackgroundToWindowattach_background_to_window 返回 2 ( H_MSG_TRUE )。如有必要,则抛出异常。
可能的前趋
open_windowopen_windowOpenWindowOpenWindowOpenWindowopen_window
可能的后继
detach_background_from_windowdetach_background_from_windowDetachBackgroundFromWindowDetachBackgroundFromWindowDetachBackgroundFromWindowdetach_background_from_window
模块
基础