attach_background_to_windowT_attach_background_to_windowAttachBackgroundToWindowAttachBackgroundToWindowattach_background_to_window附加背景到窗口(算子)

名称

attach_background_to_windowT_attach_background_to_windowAttachBackgroundToWindowAttachBackgroundToWindowattach_background_to_window — 将背景图像附加到 HALCON 窗口。

签名

attach_background_to_window(Image : : WindowHandle : )

Herror T_attach_background_to_window(const Hobject Image, const Htuple WindowHandle)

void AttachBackgroundToWindow(const HObject& Image, const HTuple& WindowHandle)

void HWindow::AttachBackgroundToWindow(const HImage& Image) const

static void HDrawingObject::AttachBackgroundToWindow(const HImage& Image, const HWindow& WindowHandle)

static void HOperatorSet.AttachBackgroundToWindow(HObject image, HTuple windowHandle)

void HWindow.AttachBackgroundToWindow(HImage image)

static void HDrawingObject.AttachBackgroundToWindow(HImage image, HWindow windowHandle)

def attach_background_to_window(image: HObject, window_handle: HHandle) -> None

描述

此算子将通过 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_mbuttonread_charread_charReadCharReadCharReadCharread_char,都会与绘图对象的交互产生冲突。若需读取光标状态,请查阅所选框架的文档以获取合适的、非侵入式替代方案。

此外,基于事件的功能不应与原有的阻塞算子 draw_rectangle1draw_rectangle1DrawRectangle1DrawRectangle1DrawRectangle1draw_rectangle1draw_rectangle2draw_rectangle2DrawRectangle2DrawRectangle2DrawRectangle2draw_rectangle2draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_regiondraw_xlddraw_xldDrawXldDrawXldDrawXlddraw_xlddraw_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

模块

基础