private void TryResetConflictor() { if (_isCheckConflicting) { _conflictor.Reset(); } }
private void ReRender(RenderArgs arg, bool needComputeViewport) { if (_dummyBitmap != null) { _dummyBitmap.Dispose(); } _dummyBitmap = new Bitmap(_environment.CanvasSize.Width, _environment.CanvasSize.Height); if (needComputeViewport) //for web { ComputeViewportProjection(); } _dummyEnvelope = ExtentOfProjectionCoord.Clone() as Envelope; // ILayerContainer layerContainer = _map.LayerContainer; //计算用于快速坐标变换的参数 ComputeQuickArgs(); //构造缓存画布 using (Graphics g = Graphics.FromImage(_dummyBitmap)) { g.SmoothingMode = _map.MapArguments.SmoothingMode; g.Clear(_map.MapArguments.BackColor); //重置冲突检测 if (_conflictorForSymbol != null && _conflictorForSymbol.Enabled) { _conflictorForSymbol.Reset(); } // if (_conflictorForLabel != null && _conflictorForLabel.Enabled) { _conflictorForLabel.Reset(); _labelRender.Begin(_conflictorForLabel, this as IFeatureRenderEnvironment); } else { _labelRender.Begin(null, this as IFeatureRenderEnvironment); } //绘制影像层 DrawRasterlayers(g); //绘制几何形状 DrawAllGeometries(layerContainer, g); //绘制标注 DrawAllLabels(layerContainer, g); #region debug //(_conflictorForLabel as PixelConflictor).Save(); #endregion } arg.Graphics.DrawImage(_dummyBitmap, 0, 0); }