gen_ellipsegen_ellipseGenEllipseGenEllipsegen_ellipse (算子)

名称

gen_ellipsegen_ellipseGenEllipseGenEllipsegen_ellipse — 创建椭圆。

签名

gen_ellipse( : Ellipse : Row, Column, Phi, Radius1, Radius2 : )

Herror gen_ellipse(Hobject* Ellipse, double Row, double Column, double Phi, double Radius1, double Radius2)

Herror T_gen_ellipse(Hobject* Ellipse, const Htuple Row, const Htuple Column, const Htuple Phi, const Htuple Radius1, const Htuple Radius2)

void GenEllipse(HObject* Ellipse, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2)

void HRegion::GenEllipse(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2)

void HRegion::GenEllipse(double Row, double Column, double Phi, double Radius1, double Radius2)

static void HOperatorSet.GenEllipse(out HObject ellipse, HTuple row, HTuple column, HTuple phi, HTuple radius1, HTuple radius2)

void HRegion.GenEllipse(HTuple row, HTuple column, HTuple phi, HTuple radius1, HTuple radius2)

void HRegion.GenEllipse(double row, double column, double phi, double radius1, double radius2)

def gen_ellipse(row: MaybeSequence[Union[int, float]], column: MaybeSequence[Union[int, float]], phi: MaybeSequence[Union[int, float]], radius_1: MaybeSequence[Union[int, float]], radius_2: MaybeSequence[Union[int, float]]) -> HObject

描述

算子 gen_ellipsegen_ellipseGenEllipseGenEllipseGenEllipsegen_ellipse generates one or more ellipses with the center (RowRowRowRowrowrow, ColumnColumnColumnColumncolumncolumn), the orientation PhiPhiPhiPhiphiphi and the half-radii (half axes) Radius1Radius1Radius1Radius1radius1radius_1 and Radius2Radius2Radius2Radius2radius2radius_2. The angle is indicated in arc measure according to the x axis in mathematically positive direction. More than one region can be created by passing tuples of parameter values.

The center must be located within the image coordinates. The coordinate system runs from (0,0) (upper left corner) to (Width-1,Height-1). See get_systemget_systemGetSystemGetSystemGetSystemget_system and reset_obj_dbreset_obj_dbResetObjDbResetObjDbResetObjDbreset_obj_db in this context. If the ellipse reaches beyond the edge of the image it is clipped to the current image format according to the value of the system flag 'clip_region'"clip_region""clip_region""clip_region""clip_region""clip_region" (set_systemset_systemSetSystemSetSystemSetSystemset_system).

执行信息

参数

EllipseEllipseEllipseEllipseellipseellipse (输出对象)  region(-array) objectHRegionHObjectHRegionHobject *

Created ellipse(s).

RowRowRowRowrowrow (输入控制)  ellipse.center.y(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Line index of center.

默认值: 200.0

建议值: 0.0, 10.0, 20.0, 50.0, 100.0, 256.0, 300.0, 400.0

值范围: 1.0 ≤ Row Row Row Row row row ≤ 1024.0 (lin)

最小增量: 1.0

建议增量: 10.0

ColumnColumnColumnColumncolumncolumn (输入控制)  ellipse.center.x(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Column index of center.

默认值: 200.0

建议值: 0.0, 10.0, 20.0, 50.0, 100.0, 256.0, 300.0, 400.0

值范围: 1.0 ≤ Column Column Column Column column column ≤ 1024.0 (lin)

最小增量: 1.0

建议增量: 10.0

PhiPhiPhiPhiphiphi (输入控制)  ellipse.angle.rad(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Orientation of the longer radius (Radius1).

默认值: 0.0

建议值: -1.178097, -0.785398, -0.392699, 0.0, 0.392699, 0.785398, 1.178097

值范围: -1.178097 ≤ Phi Phi Phi Phi phi phi ≤ 1.178097 (lin)

Radius1Radius1Radius1Radius1radius1radius_1 (输入控制)  ellipse.radius1(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Longer radius.

默认值: 100.0

建议值: 2.0, 5.0, 10.0, 20.0, 50.0, 100.0, 256.0, 300.0, 400.0

值范围: Radius1 Radius1 Radius1 Radius1 radius1 radius_1 (lin)

最小增量: 1.0

建议增量: 10.0

限制: Radius1 > 0

Radius2Radius2Radius2Radius2radius2radius_2 (输入控制)  ellipse.radius2(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Shorter radius.

默认值: 60.0

建议值: 1.0, 2.0, 4.0, 5.0, 10.0, 20.0, 50.0, 100.0, 256.0, 300.0, 400.0

值范围: Radius2 Radius2 Radius2 Radius2 radius2 radius_2 (lin)

最小增量: 1.0

建议增量: 10.0

限制: Radius2 > 0 && Radius2 <= Radius1

示例(HDevelop)

read_image (Image, 'fabrik')
gen_ellipse (Ellipse, 200, 200, rad(10), 160, 90)
reduce_domain (Image, Ellipse, ImageReduced)
dev_clear_window ()
dev_display (ImageReduced)

复杂度

Runtime complexity: O(Radius1Radius1Radius1Radius1radius1radius_1 * 2)

Storage complexity (byte): O(Radius1Radius1Radius1Radius1radius1radius_1 * 8)

结果

如果参数值正确,算子 gen_ellipsegen_ellipseGenEllipseGenEllipseGenEllipsegen_ellipse 返回值 2 ( H_MSG_TRUE )。否则将抛出异常。 The clipping according to the current image format is set via the operator set_system('clip_region',<'true'/'false'>)set_system("clip_region",<"true"/"false">)SetSystem("clip_region",<"true"/"false">)SetSystem("clip_region",<"true"/"false">)SetSystem("clip_region",<"true"/"false">)set_system("clip_region",<"true"/"false">)

可能的后继

paint_regionpaint_regionPaintRegionPaintRegionPaintRegionpaint_region, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain

替代

gen_circlegen_circleGenCircleGenCircleGenCirclegen_circle, gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilledGenRegionPolygonFilledgen_region_polygon_filled, draw_ellipsedraw_ellipseDrawEllipseDrawEllipseDrawEllipsedraw_ellipse

另见

disp_ellipsedisp_ellipseDispEllipseDispEllipseDispEllipsedisp_ellipse, set_shapeset_shapeSetShapeSetShapeSetShapeset_shape, smallest_circlesmallest_circleSmallestCircleSmallestCircleSmallestCirclesmallest_circle, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain

模块

基础