create_drawing_object_lineT_create_drawing_object_lineCreateDrawingObjectLineCreateDrawingObjectLinecreate_drawing_object_line创建绘图对象线(算子)
名称
create_drawing_object_lineT_create_drawing_object_lineCreateDrawingObjectLineCreateDrawingObjectLinecreate_drawing_object_line — 创建一条可以交互式修改的线。
签名
描述
create_drawing_object_linecreate_drawing_object_lineCreateDrawingObjectLineCreateDrawingObjectLineCreateDrawingObjectLinecreate_drawing_object_line 创建一条线,用户可在 HALCON 窗口中对其进行交互式修改。该线由两个点坐标定义:第一个点为 Row1Row1Row1Row1row1row_1 和 Column1Column1Column1Column1column1column_1,第二个点为 Row2Row2Row2Row2row2row_2 和 Column2Column2Column2Column2column2column_2。
这些参数可随时通过 get_drawing_object_paramsget_drawing_object_paramsGetDrawingObjectParamsGetDrawingObjectParamsGetDrawingObjectParamsget_drawing_object_params 进行查询,其对应的 HALCON 对象也可通过 get_drawing_object_iconicget_drawing_object_iconicGetDrawingObjectIconicGetDrawingObjectIconicGetDrawingObjectIconicget_drawing_object_iconic 获取。
除上述参数外,每个绘图对象还包含若干决定其在 HALCON 窗口中外观的参数。具体参数数量及含义详见 set_drawing_object_paramsset_drawing_object_paramsSetDrawingObjectParamsSetDrawingObjectParamsSetDrawingObjectParamsset_drawing_object_params 说明。
为启用绘图对象的交互式修改功能,该对象必须附加到现有窗口。有关详细信息,请参阅 attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindowAttachDrawingObjectToWindowattach_drawing_object_to_window。附加后,用户可通过与窗口交互编辑该线条。线条对象支持两种变换操作:调整大小和位移。拖动点控制柄可移动线点,拖动线条中心可移动整条线。
与 draw_linedraw_lineDrawLineDrawLineDrawLinedraw_line 算子不同,此交互操作不会阻塞调用线程。
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
此算子返回一个句柄。请注意,即使该句柄被用作特定算子的输入参数,这些算子仍可能改变此句柄类型的实例状态。
参数
Row1Row1Row1Row1row1row_1 (输入控制) line.begin.y → HTuplefloatHTupleHtuple (real) (double) (double) (double)
第一线点的行坐标。
默认值:
100
Column1Column1Column1Column1column1column_1 (输入控制) line.begin.x → HTuplefloatHTupleHtuple (real) (double) (double) (double)
第一线点的列坐标。
默认值:
100
Row2Row2Row2Row2row2row_2 (输入控制) line.end.y → HTuplefloatHTupleHtuple (real) (double) (double) (double)
第二线点的行坐标。
默认值:
200
Column2Column2Column2Column2column2column_2 (输入控制) line.end.x → HTuplefloatHTupleHtuple (real) (double) (double) (double)
第二线点的列坐标。
默认值:
200
DrawIDDrawIDDrawIDDrawIDdrawIDdraw_id (输出控制) drawing_object → HDrawingObject, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
绘图对象的句柄。
结果
如果参数值正确,算子
create_drawing_object_circle_sectorcreate_drawing_object_circle_sectorCreateDrawingObjectCircleSectorCreateDrawingObjectCircleSectorCreateDrawingObjectCircleSectorcreate_drawing_object_circle_sector 返回值 2 (H_MSG_TRUE)。否则将抛出异常。
可能的前趋
open_windowopen_windowOpenWindowOpenWindowOpenWindowopen_window
可能的后继
attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindowAttachDrawingObjectToWindowattach_drawing_object_to_window,
get_drawing_object_paramsget_drawing_object_paramsGetDrawingObjectParamsGetDrawingObjectParamsGetDrawingObjectParamsget_drawing_object_params,
get_drawing_object_iconicget_drawing_object_iconicGetDrawingObjectIconicGetDrawingObjectIconicGetDrawingObjectIconicget_drawing_object_iconic
替代
draw_linedraw_lineDrawLineDrawLineDrawLinedraw_line,
draw_line_moddraw_line_modDrawLineModDrawLineModDrawLineModdraw_line_mod,
create_drawing_object_xldcreate_drawing_object_xldCreateDrawingObjectXldCreateDrawingObjectXldCreateDrawingObjectXldcreate_drawing_object_xld
另见
create_drawing_object_rectangle1create_drawing_object_rectangle1CreateDrawingObjectRectangle1CreateDrawingObjectRectangle1CreateDrawingObjectRectangle1create_drawing_object_rectangle1,
create_drawing_object_rectangle2create_drawing_object_rectangle2CreateDrawingObjectRectangle2CreateDrawingObjectRectangle2CreateDrawingObjectRectangle2create_drawing_object_rectangle2,
create_drawing_object_ellipsecreate_drawing_object_ellipseCreateDrawingObjectEllipseCreateDrawingObjectEllipseCreateDrawingObjectEllipsecreate_drawing_object_ellipse,
create_drawing_object_circle_sectorcreate_drawing_object_circle_sectorCreateDrawingObjectCircleSectorCreateDrawingObjectCircleSectorCreateDrawingObjectCircleSectorcreate_drawing_object_circle_sector,
create_drawing_object_ellipse_sectorcreate_drawing_object_ellipse_sectorCreateDrawingObjectEllipseSectorCreateDrawingObjectEllipseSectorCreateDrawingObjectEllipseSectorcreate_drawing_object_ellipse_sector,
create_drawing_object_xldcreate_drawing_object_xldCreateDrawingObjectXldCreateDrawingObjectXldCreateDrawingObjectXldcreate_drawing_object_xld
模块
基础