draw_regionT_draw_regionDrawRegionDrawRegion (Operator)
Name
draw_regionT_draw_regionDrawRegionDrawRegion
— Interaktives Erstellen einer geschlossenen Region.
Signatur
Beschreibung
draw_regiondraw_regionDrawRegionDrawRegionDrawRegion
liefert ein Bild, dessen Region die interaktiv mit
der Maus eingegebene Bildregion umfasst (die Grauwerte bleiben undefiniert).
Gezeichnet wird im Ausgabefenster mit gedrückter linker Maustaste.
Die linke Maustaste kann auch punktweise betätigt werden; hierdurch
wird eine Gerade zwischen den angeklickten Punkten gezogen.
Ein Druck auf die rechte Maustaste beendet die Eingabe und schließt die
Kontur. Unter macOS kann draw_regiondraw_regionDrawRegionDrawRegionDrawRegion
auch durch Drücken der
Escape-Taste beendet werden. Anschließend wird das Bild „aufgefüllt“,
enthält also den gesamten mit der Maus umfahrenen Bildbereich.
Für das Zeichnen wird die Farbe verwendet die mit set_colorset_colorSetColorSetColorSetColor
,
set_rgbset_rgbSetRgbSetRgbSetRgb
, etc. eingestellt wurde.
Achtung
Die Grauwerte des Ausgabeobjektes sind undefiniert.
Für die Nutzung des Zeichenoperators in einem Puffer-Fenster muss die
Anwendung Maus-Events senden. Der Zeichenoperator muss
dabei in einem anderen Thread ausgeführt werden.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
RegionRegionRegionRegionregion
(output_object) region →
objectHRegionHRegionHobject *
Interaktiv erstellte Region.
WindowHandleWindowHandleWindowHandleWindowHandlewindowHandle
(input_control) window →
HWindow, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Fenster-Handle.
Beispiel (HDevelop)
read_image(Image,'fabrik')
dev_display (Image)
draw_region(Region,WindowHandle)
reduce_domain(Image,Region,ImageReduced)
invert_image (ImageReduced, ImageInvert)
dev_display (ImageInvert)
Beispiel (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);
Beispiel (HDevelop)
read_image(Image,'fabrik')
dev_display (Image)
draw_region(Region,WindowHandle)
reduce_domain(Image,Region,ImageReduced)
invert_image (ImageReduced, ImageInvert)
dev_display (ImageInvert)
Beispiel (HDevelop)
read_image(Image,'fabrik')
dev_display (Image)
draw_region(Region,WindowHandle)
reduce_domain(Image,Region,ImageReduced)
invert_image (ImageReduced, ImageInvert)
dev_display (ImageInvert)
Beispiel (HDevelop)
read_image(Image,'fabrik')
dev_display (Image)
draw_region(Region,WindowHandle)
reduce_domain(Image,Region,ImageReduced)
invert_image (ImageReduced, ImageInvert)
dev_display (ImageInvert)
Ergebnis
draw_regiondraw_regionDrawRegionDrawRegionDrawRegion
liefert den Wert 2 (H_MSG_TRUE), falls das Fenster gültig
ist. Ansonsten wird eine Fehlerbehandlung durchgeführt.
Vorgänger
open_windowopen_windowOpenWindowOpenWindowOpenWindow
Nachfolger
reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain
,
disp_regiondisp_regionDispRegionDispRegionDispRegion
,
set_coloredset_coloredSetColoredSetColoredSetColored
,
set_line_widthset_line_widthSetLineWidthSetLineWidthSetLineWidth
,
set_drawset_drawSetDrawSetDrawSetDraw
Alternativen
draw_circledraw_circleDrawCircleDrawCircleDrawCircle
,
draw_ellipsedraw_ellipseDrawEllipseDrawEllipseDrawEllipse
,
draw_rectangle1draw_rectangle1DrawRectangle1DrawRectangle1DrawRectangle1
,
draw_rectangle2draw_rectangle2DrawRectangle2DrawRectangle2DrawRectangle2
Siehe auch
draw_polygondraw_polygonDrawPolygonDrawPolygonDrawPolygon
,
reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain
,
fill_upfill_upFillUpFillUpFillUp
,
set_colorset_colorSetColorSetColorSetColor
Modul
Foundation