Example #1
0
 /// <summary>
 /// Renders a LineString to the map.
 /// </summary>
 /// <param name="g">Graphics reference</param>
 /// <param name="line">LineString to render</param>
 /// <param name="pen">Pen style used for rendering</param>
 /// <param name="map">Map reference</param>
 public static void DrawLineString(System.Drawing.Graphics g, Geometries.LineString line, System.Drawing.Pen pen, SharpMap.Map map)
 {
     if (line.Vertices.Count > 1)
     {
         System.Drawing.Drawing2D.GraphicsPath gp = new System.Drawing.Drawing2D.GraphicsPath();
         gp.AddLines(line.TransformToImage(map));
         g.DrawPath(pen, gp);
     }
 }
Example #2
0
        internal static NTSLineString ToNTSLineString(Geometries.LineString geom,
                                                      IGeometryFactory factory)
        {
            NTSCoordinate[] coordinates = new NTSCoordinate[geom.NumPoints];
            int             index       = 0;

            foreach (Geometries.Point point in geom.Vertices)
            {
                coordinates[index++] = ToNTSCoordinate(point, factory);
            }
            return(factory.CreateLineString(coordinates) as NTSLineString);
        }
 /// <summary>
 /// CX ÐÂÔö
 /// </summary>
 /// <param name="g"></param>
 /// <param name="line"></param>
 /// <param name="pen"></param>
 /// <param name="map"></param>
 public static void DrawLineString(System.Drawing.Graphics g, Geometries.LineString line, System.Drawing.Pen[] pens, SharpMap.Map map)
 {
     if (line.Vertices.Count > 1)
     {
         GraphicsPath gp = new GraphicsPath();
         gp.AddLines(LimitValues(line.TransformToImage(map), extremeValueLimit));
         for (int i = 0; i < pens.Length; i++)
         {
             g.DrawPath(pens[i], gp);
         }
     }
 }
Example #4
0
 /// <summary>
 /// Renders a LineString to the map.
 /// </summary>
 /// <param name="g">Graphics reference</param>
 /// <param name="line">LineString to render</param>
 /// <param name="pen">Pen style used for rendering</param>
 /// <param name="map">Map reference</param>
 public static void DrawLineString(System.Drawing.Graphics g, Geometries.LineString line, System.Drawing.Pen pen, SharpMap.Map map)
 {
     if (line.Vertices.Count > 1)
     {
         System.Drawing.Drawing2D.GraphicsPath gp = new System.Drawing.Drawing2D.GraphicsPath();
         gp.AddLines(line.TransformToImage(map));
         if (line.UseColor)
         {
             pen.Color = line.Color;
         }
         if (line.UseCustomWidth)
         {
             g.DrawPath(new Pen(pen.Color, line.Width_), gp);
         }
         else
         {
             g.DrawPath(pen, gp);
         }
     }
 }
Example #5
0
        protected override void OnMouseDoubleClick(MouseEventArgs e)
        {
            base.OnMouseDoubleClick(e);

            if (_activeTool == Tools.DrawPolygon)
            {
                if (GeometryDefined != null)
                {
                    Geometries.LinearRing extRing = new Geometries.LinearRing();
                    for (int i = 0; i < _pointArray.GetUpperBound(0); i++)
                        extRing.Vertices.Add(Map.ImageToWorld(new PointF(_pointArray[i].X, _pointArray[i].Y)));

                    extRing.Vertices.Add(Map.ImageToWorld(new PointF(_pointArray[0].X, _pointArray[0].Y)));

                    GeometryDefined(new Geometries.Polygon(extRing));
                }
                ActiveTool = Tools.None;
            }
            else if (_activeTool == Tools.DrawLine)
            {
                if (GeometryDefined != null)
                {
                    Geometries.LineString line = new Geometries.LineString();
                    for (int i = 0; i <= _pointArray.GetUpperBound(0); i++)
                        line.Vertices.Add(Map.ImageToWorld(new PointF(_pointArray[i].X, _pointArray[i].Y)));

                    GeometryDefined(line);
                }
                ActiveTool = Tools.None;
            }
        }