draw_circle_modT_draw_circle_modDrawCircleModDrawCircleMod (Operator)

Name

draw_circle_modT_draw_circle_modDrawCircleModDrawCircleMod — Interaktives Erstellen eines Kreises.

Signatur

draw_circle_mod( : : WindowHandle, RowIn, ColumnIn, RadiusIn : Row, Column, Radius)

Herror T_draw_circle_mod(const Htuple WindowHandle, const Htuple RowIn, const Htuple ColumnIn, const Htuple RadiusIn, Htuple* Row, Htuple* Column, Htuple* Radius)

void DrawCircleMod(const HTuple& WindowHandle, const HTuple& RowIn, const HTuple& ColumnIn, const HTuple& RadiusIn, HTuple* Row, HTuple* Column, HTuple* Radius)

void HWindow::DrawCircleMod(double RowIn, double ColumnIn, double RadiusIn, double* Row, double* Column, double* Radius) const

static void HOperatorSet.DrawCircleMod(HTuple windowHandle, HTuple rowIn, HTuple columnIn, HTuple radiusIn, out HTuple row, out HTuple column, out HTuple radius)

void HWindow.DrawCircleMod(double rowIn, double columnIn, double radiusIn, out double row, out double column, out double radius)

Beschreibung

draw_circle_moddraw_circle_modDrawCircleModDrawCircleModDrawCircleMod liefert die Parameter für einen Kreis, der interaktiv durch den Benutzer im Fenster erzeugt worden ist.

Für die Erzeugung des Kreises werden die Koordinaten RowInRowInRowInRowInrowIn und ColumnInColumnInColumnInColumnIncolumnIn des Mittelpunktes des Kreises mit Radius RadiusInRadiusInRadiusInRadiusInradiusIn erwartet. Nach einem erneuten Mausklick in die Mitte des erzeugten Kreises, kann dieser beliebig verschoben werden. Mit einem Klick in die Nähe des Kreisbogens kann der Kreis „angefasst“ werden, um den RadiusRadiusRadiusRadiusradius zu verändern. Ein Klick mit der rechten Maustaste beendet die Prozedur. Unter macOS kann draw_circle_moddraw_circle_modDrawCircleModDrawCircleModDrawCircleMod auch durch Drücken der Escape-Taste beendet werden. Der Kreis ist nach Beendigung der Prozedur nicht mehr auf dem Fenster sichtbar.

Achtung

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

Parameter

WindowHandleWindowHandleWindowHandleWindowHandlewindowHandle (input_control)  window HWindow, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Fenster-Handle.

RowInRowInRowInRowInrowIn (input_control)  circle.center.y HTupleHTupleHtuple (real) (double) (double) (double)

Zeilenindex des Mittelpunktes.

ColumnInColumnInColumnInColumnIncolumnIn (input_control)  circle.center.x HTupleHTupleHtuple (real) (double) (double) (double)

Spaltenindex des Mittelpunktes.

RadiusInRadiusInRadiusInRadiusInradiusIn (input_control)  circle.radius HTupleHTupleHtuple (real) (double) (double) (double)

Radius des Kreises.

RowRowRowRowrow (output_control)  circle.center.y HTupleHTupleHtuple (real) (double) (double) (double)

Zeilenindex des Mittelpunktes.

ColumnColumnColumnColumncolumn (output_control)  circle.center.x HTupleHTupleHtuple (real) (double) (double) (double)

Spaltenindex des Mittelpunktes.

RadiusRadiusRadiusRadiusradius (output_control)  circle.radius HTupleHTupleHtuple (real) (double) (double) (double)

Radius des Kreises.

Beispiel (HDevelop)

read_image(Image,'monkey')
draw_circle_mod(WindowHandle,20,20,15,Row,Column,Radius)
gen_circle(Circle,Row,Column,Radius)
reduce_domain(Image,Circle,ImageReduced)
invert_image (ImageReduced, ImageInvert)
dev_display (ImageInvert)

Beispiel (C)

read_image(&Image,"monkey");
draw_circle_mod(WindowHandle,20,20,15,&Row,&Column,&Radius);
gen_circle(&Circle,Row,Column,Radius);
reduce_domain(Image,Circle,&GrayCircle);
disp_image(GrayCircle,WindowHandle);

Beispiel (HDevelop)

read_image(Image,'monkey')
draw_circle_mod(WindowHandle,20,20,15,Row,Column,Radius)
gen_circle(Circle,Row,Column,Radius)
reduce_domain(Image,Circle,ImageReduced)
invert_image (ImageReduced, ImageInvert)
dev_display (ImageInvert)

Beispiel (HDevelop)

read_image(Image,'monkey')
draw_circle_mod(WindowHandle,20,20,15,Row,Column,Radius)
gen_circle(Circle,Row,Column,Radius)
reduce_domain(Image,Circle,ImageReduced)
invert_image (ImageReduced, ImageInvert)
dev_display (ImageInvert)

Beispiel (HDevelop)

read_image(Image,'monkey')
draw_circle_mod(WindowHandle,20,20,15,Row,Column,Radius)
gen_circle(Circle,Row,Column,Radius)
reduce_domain(Image,Circle,ImageReduced)
invert_image (ImageReduced, ImageInvert)
dev_display (ImageInvert)

Ergebnis

draw_circle_moddraw_circle_modDrawCircleModDrawCircleModDrawCircleMod liefert den Wert 2 (H_MSG_TRUE), falls das Fenster gültig und der benötigte Zeichenmodus (siehe set_insertset_insertSetInsertSetInsertSetInsert) verfügbar 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, set_insertset_insertSetInsertSetInsertSetInsert

Alternativen

draw_circledraw_circleDrawCircleDrawCircleDrawCircle, draw_ellipsedraw_ellipseDrawEllipseDrawEllipseDrawEllipse, draw_regiondraw_regionDrawRegionDrawRegionDrawRegion

Siehe auch

gen_circlegen_circleGenCircleGenCircleGenCircle, draw_rectangle1draw_rectangle1DrawRectangle1DrawRectangle1DrawRectangle1, draw_rectangle2draw_rectangle2DrawRectangle2DrawRectangle2DrawRectangle2, draw_polygondraw_polygonDrawPolygonDrawPolygonDrawPolygon, set_insertset_insertSetInsertSetInsertSetInsert

Modul

Foundation