draw_regionT_draw_regionDrawRegionDrawRegiondraw_region (Operator)

Name

draw_regionT_draw_regionDrawRegionDrawRegiondraw_region — Interactive drawing of a closed region.

Signature

draw_region( : Region : WindowHandle : )

Herror T_draw_region(Hobject* Region, const Htuple WindowHandle)

void DrawRegion(HObject* Region, const HTuple& WindowHandle)

void HRegion::DrawRegion(const HWindow& WindowHandle)

HRegion HWindow::DrawRegion() const

static void HOperatorSet.DrawRegion(out HObject region, HTuple windowHandle)

void HRegion.DrawRegion(HWindow windowHandle)

HRegion HWindow.DrawRegion()

def draw_region(window_handle: HHandle) -> HObject

Description

draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region produces an image. The region of that image spans exactly the image region entered interactively by mouse clicks (gray values remain undefined). Painting happens in the output window while keeping the left mouse button pressed. The left mouse button even operates by clicking in the output window; through this a line between the previous clicked points is drawn. Clicking the right mouse button terminates input and closes the outline. Subsequently the image is “filled up”. Also it contains the whole image area enclosed by the mouse.

Painting uses that color which has been set by set_colorset_colorSetColorSetColorSetColorset_color, set_rgbset_rgbSetRgbSetRgbSetRgbset_rgb, etc. .

Pressing the right mouse button terminates the procedure. On macOS draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region can also be terminated by pressing the escape key.

Attention

The output object's gray values are not defined.

If used in a buffer window, mouse events have to be supplied by the application, while the draw operator must be run in another thread.

Execution Information

Parameters

RegionRegionRegionRegionregionregion (output_object)  region objectHRegionHObjectHRegionHobject *

Interactive created region.

WindowHandleWindowHandleWindowHandleWindowHandlewindowHandlewindow_handle (input_control)  window HWindow, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Window handle.

Example (HDevelop)

read_image(Image,'fabrik')
dev_display (Image)
draw_region(Region,WindowHandle)
reduce_domain(Image,Region,ImageReduced)
invert_image (ImageReduced, ImageInvert)
dev_display (ImageInvert)

Example (C)

read_image(&Image,"fabrik");
disp_image(Image,WindowHandle);
draw_region(&Region,WindowHandle);
reduce_domain(Image,Region,&New);
regiongrowing(New,&Segmente,5,5,6,50);
set_colored(WindowHandle,12);
disp_region(Segmente,WindowHandle);

Example (HDevelop)

read_image(Image,'fabrik')
dev_display (Image)
draw_region(Region,WindowHandle)
reduce_domain(Image,Region,ImageReduced)
invert_image (ImageReduced, ImageInvert)
dev_display (ImageInvert)

Example (HDevelop)

read_image(Image,'fabrik')
dev_display (Image)
draw_region(Region,WindowHandle)
reduce_domain(Image,Region,ImageReduced)
invert_image (ImageReduced, ImageInvert)
dev_display (ImageInvert)

Example (HDevelop)

read_image(Image,'fabrik')
dev_display (Image)
draw_region(Region,WindowHandle)
reduce_domain(Image,Region,ImageReduced)
invert_image (ImageReduced, ImageInvert)
dev_display (ImageInvert)

Result

If the window is valid, draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region returns 2 (H_MSG_TRUE). If necessary, an exception is raised.

Possible Predecessors

open_windowopen_windowOpenWindowOpenWindowOpenWindowopen_window

Possible Successors

reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain, disp_regiondisp_regionDispRegionDispRegionDispRegiondisp_region, set_coloredset_coloredSetColoredSetColoredSetColoredset_colored, set_line_widthset_line_widthSetLineWidthSetLineWidthSetLineWidthset_line_width, set_drawset_drawSetDrawSetDrawSetDrawset_draw

Alternatives

draw_circledraw_circleDrawCircleDrawCircleDrawCircledraw_circle, draw_ellipsedraw_ellipseDrawEllipseDrawEllipseDrawEllipsedraw_ellipse, draw_rectangle1draw_rectangle1DrawRectangle1DrawRectangle1DrawRectangle1draw_rectangle1, draw_rectangle2draw_rectangle2DrawRectangle2DrawRectangle2DrawRectangle2draw_rectangle2

See also

draw_polygondraw_polygonDrawPolygonDrawPolygonDrawPolygondraw_polygon, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain, fill_upfill_upFillUpFillUpFillUpfill_up, set_colorset_colorSetColorSetColorSetColorset_color

Module

Foundation