ArcGISEngine绘制椭圆

对于椭圆、椭圆弧的生成可以通过ArcGISEngine中的IEllipticArc来实现。下面我们来详细介绍IEllipticArc接口生成对象时用到的两个方法PutCoords与PutCoordsByAngle。

   这两个方法有些共同的特点,主要如下:

n所有角度参数的单位都是以弧度来计算

n长半轴与短半轴相互垂直平分

n旋转角度对最后椭圆生成的影响取决于参数EllipseStd的设置

uEllipseStd为False,角度是以坐标轴作为基准

uEllipseStd为True,角度是以长半轴作为基准;并且,起点、终点的坐标都是相对于中心的点的相对坐标

 

IEllipticArc接口生成对象时用到的两个方法PutCoords与PutCoordsByAngle除了上述的共同点外,又有着各自的特点。

PutCoords方法

public void PutCoords (

bool ellipseStd,

IPoint Center,

IPoint from,

IPoint to,

Double rotationAngle,

Double minorMajorRatio,

esriArcOrientation orientation)

        PutCoords方法需要知道确切的椭圆弧起点和终点,其参数的含义如下:

        ellipseStd:决定了旋转角度对最后椭圆生成的影响

uEllipseStd为False,角度是以坐标轴作为基准

uEllipseStd为True,角度是以长半轴作为基准;并且,起点、终点的坐标都是相对于中心的点的相对坐标

Center:椭圆弧的中心点

From:椭圆弧的起点

To:椭圆弧的终点

rotationAngle:旋转角度

minorMajorRatio:短轴与长轴的比例(<=1,等于1时绘制的是圆弧)

orientation:椭圆弧绘制方向(顺时针、逆时针、……)

 

下面代码绘制出来的椭圆弧如下图

IEllipticArc pEll = newEllipticArcClass();

pEll.PutCoords(false, pCenterPoint, sPoint, sPoint1, 0, 0.3, esriArcOrientation.esriArcClockwise);

 

PutCoordsByAngle方法

public void PutCoordsByAngle (

       bool ellipseStd,

       IPoint Center,

       double FromAngle,

       double CentralAngle,

       double rotationAngle,

       double semiMajor,

       double minorMajorRatio);

    putCoordsByAngle方法除了可以生成椭圆弧外,还可以生成椭圆。具体参数含义如下:

    ellipseStd:决定了旋转角度对最后椭圆生成的影响

u  EllipseStd为False,角度是以坐标轴作为基准

u  EllipseStd为True,角度是以长半轴作为基准;并且,起点、终点的坐标都是相对于中心的点的相对坐标

Center:椭圆弧中心点

FromAngle:起点角度

CentralAngle:椭圆弧圆心角

rotationAngle:旋转角度

semiMajor:长半轴长度

minorMajorRatio:短半轴与长半轴比例(<=1,等于1时绘制的是圆弧)

 

下面代码能够绘制椭圆

    IEllipticArc pEll = newEllipticArcClass();

   pEll.PutCoordsByAngle(false, pCenterPoint, 3, 2 * Math.PI, 0, 200, 0.3);

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值