SharpMap.Geometries.Polygon.TransformToImage C# (CSharp) Method

TransformToImage() public method

Transforms the polygon to image coordinates, based on the map
public TransformToImage ( SharpMap map ) : System.Drawing.PointF[]
map SharpMap Map to base coordinates on
return System.Drawing.PointF[]
        public System.Drawing.PointF[] TransformToImage(SharpMap.Map map)
        {
            int vertices = _ExteriorRing.Vertices.Count;
            for (int i = 0; i < _InteriorRings.Count;i++)
                vertices += _InteriorRings[i].Vertices.Count;

            System.Drawing.PointF[] v = new System.Drawing.PointF[vertices];
            for (int i = 0; i < _ExteriorRing.Vertices.Count; i++)
                v[i] = SharpMap.Utilities.Transform.WorldtoMap(_ExteriorRing.Vertices[i], map);
            int j = _ExteriorRing.Vertices.Count;
            for (int k = 0; k < _InteriorRings.Count;k++)
            {
                for (int i = 0; i < _InteriorRings[k].Vertices.Count; i++)
                    v[j + i] = SharpMap.Utilities.Transform.WorldtoMap(_InteriorRings[k].Vertices[i], map);
                j += _InteriorRings[k].Vertices.Count;
            }
            return v;
        }

Usage Example

        protected override void OnRenderInternal(Map map, Polygon polygon, Graphics g)
        {
            // convert points
            var pts = /*LimitValues(*/polygon.TransformToImage(map)/*)*/;

            // clip
            if (UseClipping)
                pts = VectorRenderer.ClipPolygon(pts, map.Size.Width, map.Size.Height);
            
            // fill the polygon
            if (Fill != null)
                g.FillPolygon(Fill, pts);
            
            // outline the polygon
            if (Outline != null)
                g.DrawPolygon(Outline, pts);
        }
All Usage Examples Of SharpMap.Geometries.Polygon::TransformToImage