draw_circle_modT_draw_circle_modDrawCircleModDrawCircleMod (Operator)
Name
draw_circle_modT_draw_circle_modDrawCircleModDrawCircleMod
— Interaktives Erstellen eines Kreises.
Signatur
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
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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