KlassenKlassenKlassenKlassen | | | | Operatoren

draw_ellipse_moddraw_ellipse_modDrawEllipseModdraw_ellipse_modDrawEllipseModDrawEllipseMod (Operator)

Name

draw_ellipse_moddraw_ellipse_modDrawEllipseModdraw_ellipse_modDrawEllipseModDrawEllipseMod — Interaktives Erstellen einer Ellipse.

Signatur

draw_ellipse_mod( : : WindowHandle, RowIn, ColumnIn, PhiIn, Radius1In, Radius2In : Row, Column, Phi, Radius1, Radius2)

Herror draw_ellipse_mod(const Hlong WindowHandle, double RowIn, double ColumnIn, double PhiIn, double Radius1In, double Radius2In, double* Row, double* Column, double* Phi, double* Radius1, double* Radius2)

Herror T_draw_ellipse_mod(const Htuple WindowHandle, const Htuple RowIn, const Htuple ColumnIn, const Htuple PhiIn, const Htuple Radius1In, const Htuple Radius2In, Htuple* Row, Htuple* Column, Htuple* Phi, Htuple* Radius1, Htuple* Radius2)

Herror draw_ellipse_mod(const HTuple& WindowHandle, const HTuple& RowIn, const HTuple& ColumnIn, const HTuple& PhiIn, const HTuple& Radius1In, const HTuple& Radius2In, double* Row, double* Column, double* Phi, double* Radius1, double* Radius2)

double HWindow::DrawEllipseMod(const HTuple& RowIn, const HTuple& ColumnIn, const HTuple& PhiIn, const HTuple& Radius1In, const HTuple& Radius2In, HTuple* Column, HTuple* Phi, HTuple* Radius1, HTuple* Radius2) const

void DrawEllipseMod(const HTuple& WindowHandle, const HTuple& RowIn, const HTuple& ColumnIn, const HTuple& PhiIn, const HTuple& Radius1In, const HTuple& Radius2In, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Radius1, HTuple* Radius2)

void HWindow::DrawEllipseMod(double RowIn, double ColumnIn, double PhiIn, double Radius1In, double Radius2In, double* Row, double* Column, double* Phi, double* Radius1, double* Radius2) const

void HOperatorSetX.DrawEllipseMod(
[in] VARIANT WindowHandle, [in] VARIANT RowIn, [in] VARIANT ColumnIn, [in] VARIANT PhiIn, [in] VARIANT Radius1In, [in] VARIANT Radius2In, [out] VARIANT* Row, [out] VARIANT* Column, [out] VARIANT* Phi, [out] VARIANT* Radius1, [out] VARIANT* Radius2)

double HWindowX.DrawEllipseMod(
[in] double RowIn, [in] double ColumnIn, [in] double PhiIn, [in] double Radius1In, [in] double Radius2In, [out] double* Column, [out] double* Phi, [out] double* Radius1, [out] double* Radius2)

static void HOperatorSet.DrawEllipseMod(HTuple windowHandle, HTuple rowIn, HTuple columnIn, HTuple phiIn, HTuple radius1In, HTuple radius2In, out HTuple row, out HTuple column, out HTuple phi, out HTuple radius1, out HTuple radius2)

void HWindow.DrawEllipseMod(double rowIn, double columnIn, double phiIn, double radius1In, double radius2In, out double row, out double column, out double phi, out double radius1, out double radius2)

Beschreibung

draw_ellipse_moddraw_ellipse_modDrawEllipseModdraw_ellipse_modDrawEllipseModDrawEllipseMod liefert die Parameter für eine beliebig orientierte Ellipse, die interaktiv durch den Benutzer im Fenster erzeugt worden ist.

Die zu erzeugende Ellipse wird durch ihren Mittelpunkt, ihre zwei Halbachsen und den Winkel der ersten Halbachse zur horizontalen Koordinatenachse beschrieben.

Für die Erzeugung der Ellipse werden die Parametern RowInRowInRowInRowInRowInrowIn, ColumnInColumnInColumnInColumnInColumnIncolumnIn,PhiInPhiInPhiInPhiInPhiInphiIn,Radius1InRadius1InRadius1InRadius1InRadius1Inradius1In,Radius2InRadius2InRadius2InRadius2InRadius2Inradius2In erwartet. Während die Taste gedrückt bleibt, kann die Länge (Radius1Radius1Radius1Radius1Radius1radius1) und die Orientierung (PhiPhiPhiPhiPhiphi) der ersten Halbachse festgelegt werden. Dabei wird für die zweite Halbachse vorläufig eine Default-Länge verwendet, die anschließend aber noch verändert werden kann. Nach einem erneuten Mausklick in die Mitte der erzeugten Ellipse, kann diese beliebig verschoben werden. Mit einem Klick in die Nähe eines Scheitels kann dieser „angefasst“ werden, um die Länge der zugehörigen Halbachse zu verändern. Die Orientierung kann nur verändert werden, wenn ein Scheitel der ersten Halbachse angefasst wird.

Ein Klick mit der rechten Maustaste beendet die Prozedur. Unter macOS kann draw_ellipse_moddraw_ellipse_modDrawEllipseModdraw_ellipse_modDrawEllipseModDrawEllipseMod auch durch Drücken der Escape-Taste beendet werden. Die Ellipse ist nach Beendigung der Prozedur nicht mehr auf dem Fenster sichtbar.

Parallelisierung

Parameter

WindowHandleWindowHandleWindowHandleWindowHandleWindowHandlewindowHandle (input_control)  window HWindow, HTupleHTupleHTupleHWindowX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Fenster-Handle.

RowInRowInRowInRowInRowInrowIn (input_control)  ellipse.center.y HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Zeilenindex des Mittelpunkts.

ColumnInColumnInColumnInColumnInColumnIncolumnIn (input_control)  ellipse.center.x HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Spaltenindex des Mittelpunkts.

PhiInPhiInPhiInPhiInPhiInphiIn (input_control)  ellipse.angle.rad HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Orientierung der größeren Halbachse in Bogenmaß.

Radius1InRadius1InRadius1InRadius1InRadius1Inradius1In (input_control)  ellipse.radius1 HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Größere Halbachse.

Radius2InRadius2InRadius2InRadius2InRadius2Inradius2In (input_control)  ellipse.radius2 HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Kleinere Halbachse.

RowRowRowRowRowrow (output_control)  ellipse.center.y HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Zeilenindex des Mittlepunktes.

ColumnColumnColumnColumnColumncolumn (output_control)  ellipse.center.x HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Spaltenindex des Mittlepunktes.

PhiPhiPhiPhiPhiphi (output_control)  ellipse.angle.rad HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Orientierung der ersten Halbachse in Bogenmaß.

Radius1Radius1Radius1Radius1Radius1radius1 (output_control)  ellipse.radius1 HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Erste Halbachse.

Radius2Radius2Radius2Radius2Radius2radius2 (output_control)  ellipse.radius2 HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Zweite Halbachse.

Beispiel (HDevelop)

read_image(Image,'monkey')
draw_ellipse_mod(WindowHandle,RowIn,ColumnIn,PhiIn,Radius1In,Radius2In,\
                 Row,Column,Phi,Radius1,Radius2)
gen_ellipse(Ellipse,Row,Column,Phi,Radius1,Radius2)
reduce_domain(Image,Ellipse,GrayEllipse)
sobel_amp(GrayEllipse,Sobel,'sum_abs',3)
dev_display(Sobel)

Beispiel (C)

read_image(&Image,"monkey") ;
draw_ellipse_mod(WindowHandle,RowIn,ColumnIn,PhiIn,Radius1In,Radius2In,
                 &Row,&Column,&Phi,&Radius1,&Radius2) ;
gen_ellipse(&Ellipse,Row,Column,Phi,Radius1,Radius2) ;
reduce_domain(Image,Ellipse,&GrayEllipse) ;
sobel_amp(GrayEllipse,&Sobel,"sum_abs",3) ;
disp_image(Sobel,WindowHandle) ;

Beispiel (HDevelop)

read_image(Image,'monkey')
draw_ellipse_mod(WindowHandle,RowIn,ColumnIn,PhiIn,Radius1In,Radius2In,\
                 Row,Column,Phi,Radius1,Radius2)
gen_ellipse(Ellipse,Row,Column,Phi,Radius1,Radius2)
reduce_domain(Image,Ellipse,GrayEllipse)
sobel_amp(GrayEllipse,Sobel,'sum_abs',3)
dev_display(Sobel)

Beispiel (HDevelop)

read_image(Image,'monkey')
draw_ellipse_mod(WindowHandle,RowIn,ColumnIn,PhiIn,Radius1In,Radius2In,\
                 Row,Column,Phi,Radius1,Radius2)
gen_ellipse(Ellipse,Row,Column,Phi,Radius1,Radius2)
reduce_domain(Image,Ellipse,GrayEllipse)
sobel_amp(GrayEllipse,Sobel,'sum_abs',3)
dev_display(Sobel)

Beispiel (HDevelop)

read_image(Image,'monkey')
draw_ellipse_mod(WindowHandle,RowIn,ColumnIn,PhiIn,Radius1In,Radius2In,\
                 Row,Column,Phi,Radius1,Radius2)
gen_ellipse(Ellipse,Row,Column,Phi,Radius1,Radius2)
reduce_domain(Image,Ellipse,GrayEllipse)
sobel_amp(GrayEllipse,Sobel,'sum_abs',3)
dev_display(Sobel)

Beispiel (HDevelop)

read_image(Image,'monkey')
draw_ellipse_mod(WindowHandle,RowIn,ColumnIn,PhiIn,Radius1In,Radius2In,\
                 Row,Column,Phi,Radius1,Radius2)
gen_ellipse(Ellipse,Row,Column,Phi,Radius1,Radius2)
reduce_domain(Image,Ellipse,GrayEllipse)
sobel_amp(GrayEllipse,Sobel,'sum_abs',3)
dev_display(Sobel)

Ergebnis

draw_ellipse_moddraw_ellipse_modDrawEllipseModdraw_ellipse_modDrawEllipseModDrawEllipseMod liefert den Wert 2 (H_MSG_TRUE), falls das Fenster gültig und der benötigte Zeichenmodus (siehe set_insertset_insertSetInsertset_insertSetInsertSetInsert) verfügbar ist. Ansonsten wird eine Fehlerbehandlung durchgeführt.

Vorgänger

open_windowopen_windowOpenWindowopen_windowOpenWindowOpenWindow

Nachfolger

reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain, disp_regiondisp_regionDispRegiondisp_regionDispRegionDispRegion, set_coloredset_coloredSetColoredset_coloredSetColoredSetColored, set_line_widthset_line_widthSetLineWidthset_line_widthSetLineWidthSetLineWidth, set_drawset_drawSetDrawset_drawSetDrawSetDraw, set_insertset_insertSetInsertset_insertSetInsertSetInsert

Alternativen

draw_ellipsedraw_ellipseDrawEllipsedraw_ellipseDrawEllipseDrawEllipse, draw_circledraw_circleDrawCircledraw_circleDrawCircleDrawCircle, draw_regiondraw_regionDrawRegiondraw_regionDrawRegionDrawRegion

Siehe auch

gen_ellipsegen_ellipseGenEllipsegen_ellipseGenEllipseGenEllipse, draw_rectangle1draw_rectangle1DrawRectangle1draw_rectangle1DrawRectangle1DrawRectangle1, draw_rectangle2draw_rectangle2DrawRectangle2draw_rectangle2DrawRectangle2DrawRectangle2, draw_polygondraw_polygonDrawPolygondraw_polygonDrawPolygonDrawPolygon, set_insertset_insertSetInsertset_insertSetInsertSetInsert

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren