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;
}
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); }