Exemple #1
0
 private void DoRender(RenderArgs args)
 {
     _isUseDummyMap = _canvas.DummyRenderModeSupport.IsDummyModel;
     if (_buffer == null || _preSize.Width != _canvas.Container.Width || _preSize.Height != _canvas.Container.Height)
     {
         if (_buffer != null)
         {
             _buffer.Dispose();
         }
         _buffer        = new Bitmap(_canvas.Container.Width, _canvas.Container.Height, PixelFormat.Format32bppArgb);
         _preSize       = _canvas.Container.Size;
         _isUseDummyMap = false;
     }
     if (_isUseDummyMap)
     {
         RenderUseDummyMap(args, _buffer, _preEnvelope);
     }
     else
     {
         using (Graphics g = Graphics.FromImage(_buffer))
         {
             g.Clear(Color.Transparent);
             Graphics og = args.Graphics;
             args.BeginRender(g);
             DirectRender(args);
             _preEnvelope = _canvas.CurrentEnvelope.Clone();
             og.DrawImage(_buffer, 0, 0);
         }
     }
 }
 private void Render(PaintEventArgs e)
 {
     if (_vectorMapRuntime == null || _vectorMapRuntime.Map == null)
     {
         e.Graphics.Clear(BackColor);
         return;
     }
     try
     {
         _renderArg.BeginRender(e.Graphics);
         e.Graphics.Clear(_vectorMapRuntime.Map.MapArguments.BackColor);
         _vectorMapRuntime.Render(_renderArg);
         //
         if (_currentMapTool != null)
         {
             _currentMapTool.Render(_renderArg);
         }
     }
     finally
     {
         _renderArg.EndRender();
         //触发渲染完毕的事件通知(异步方式通知)
         if (_renderFinishedNotify != null)
         {
             this.DoBeginInvoke(_renderFinishedNotify);
             _renderFinishedNotify = null;
         }
     }
 }
Exemple #3
0
 public void Render(object sender, IDrawArgs drawArgs)
 {
     if (_mapRuntime == null)
     {
         return;
     }
     if (_canvas == null)
     {
         _canvas = sender as ICanvas;
         Init();
     }
     else
     {
         if (_coordinateTranform == null)
         {
             _coordinateTranform = _canvas.CoordTransform;
         }
     }
     _renderArgs.BeginRender(drawArgs.Graphics as Graphics);
     try
     {
         if (_isEnableDummyRender)
         {
             DoRender(_renderArgs);
         }
         else
         {
             DirectRender(_renderArgs);
         }
     }
     finally
     {
         _renderArgs.EndRender();
     }
 }