我是程序猿

注册

 

发新话题 回复该主题

ArcGIS for silverlight画圆如此简单 [复制链接]

1#

圆的实现原理:以中心点为一点,半径为一条边,旋转1弧度为顶角,连接弧度之间的两个顶点,组成一个三角形,循环360弧度,形成圆。

  1. /// <summary>
  2. /// 360度画圆
  3. /// </summary>
  4. /// <param name="radius">半径</param>
  5. /// <param name="centerP">中心点</param>
  6. /// <param name="color">填充色</param>
  7. /// <returns>返回Graphic</returns>

  8. public static Graphic GetEllipseGraphic(double radius, ComPoint centerP, string color)

  9. {
  10. Graphic result = new Graphic();
  11. List<MapPoint> points = new List<MapPoint>();
  12. for (double i = 0; i <= 360; i++)
  13. {
  14. points.Add(new MapPoint((centerP.X - Math.Cos(Math.PI * i / 180.0) * radius), (centerP.Y - Math.Sin(Math.PI * i / 180.0) * radius)));
  15. }
  16. PointCollection pCollection = new PointCollection(points);
  17. Polygon g = new Polygon();
  18. g.Rings.Add(pCollection);
  19. result.Geometry = g;
  20.   result.Symbol = Tools.DrawStyleTools.GetEllipseFillSymbol(color);//这里根据自己的需要定义样式
  21. return result;
  22. }
复制代码
分享 转发
TOP
发新话题 回复该主题