Ejemplo n.º 1
0
 private MemoryStream GetImageStream(GeoCanvas canvas, Collection <SimpleCandidate> labelsInAllLayers, RectangleShape adjustedWorldExtent, RectangleShape boundingBox)
 {
     using (Bitmap bitmap = new Bitmap((int)boundingBox.Width, (int)boundingBox.Height))
     {
         MemoryStream      ms = new MemoryStream();
         PlatformGeoCanvas gdiPlusGeoCanvas = new PlatformGeoCanvas();
         gdiPlusGeoCanvas.DrawingQuality = DrawingQuality.HighQuality;
         gdiPlusGeoCanvas.BeginDrawing(bitmap, adjustedWorldExtent, MapUnit);
         foreach (Layer layer in Layers)
         {
             gdiPlusGeoCanvas.Flush();
             layer.SafeProcess(() =>
             {
                 layer.Draw(gdiPlusGeoCanvas, labelsInAllLayers);
             });
         }
         gdiPlusGeoCanvas.EndDrawing();
         bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
         return(ms);
     }
 }