Example #1
0
 public void ReRender(OnRenderIsFinishedHandler finishNotify, Image img)
 {
     _renderFinishedNotify = finishNotify;
     using (Graphics g = Graphics.FromImage(img))
     {
         if (_mapRuntime == null || _mapRuntime.Map == null)
         {
             g.Clear(Color.White);
             return;
         }
         try
         {
             _renderArg.BeginRender(g);
             _renderArg.IsReRender = true;
             g.Clear(_mapRuntime.Map.MapArguments.BackColor);
             _mapRuntime.Render(_renderArg);
         }
         finally
         {
             _renderArg.EndRender();
             //触发渲染完毕的事件通知(异步方式通知)
             if (_renderFinishedNotify != null)
             {
                 //_container.BeginInvoke(_renderFinishedNotify);
                 //BeginInvoke(_renderFinishedNotify);
                 _renderFinishedNotify = null;
             }
         }
     }
 }