From 8bd46da0c9fbfe39a65d75b1d85692d8783f5905 Mon Sep 17 00:00:00 2001 From: patrick.xu <patrick.xu@broconcentric.com> Date: 星期三, 15 九月 2021 10:50:54 +0800 Subject: [PATCH] 现场修改 --- src/Bro.UI.Model.Winform/UI/CanvasImage.cs | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-) diff --git a/src/Bro.UI.Model.Winform/UI/CanvasImage.cs b/src/Bro.UI.Model.Winform/UI/CanvasImage.cs index 76beeac..582061d 100644 --- a/src/Bro.UI.Model.Winform/UI/CanvasImage.cs +++ b/src/Bro.UI.Model.Winform/UI/CanvasImage.cs @@ -67,8 +67,21 @@ #endregion #region 閲嶇粯 + volatile bool _isInRepaint = false; + object _isInRepaintLock = new object(); protected override void OnPaint(PaintEventArgs e) { + //if (_isInRepaint) + // return; + + //lock (_isInRepaintLock) + //{ + // if (_isInRepaint) + // return; + //} + + //_isInRepaint = true; + try { Rectangle rect = ClientRectangle; @@ -78,6 +91,9 @@ Graphics g = myBuffer.Graphics; g.SmoothingMode = SmoothingMode.HighSpeed; g.PixelOffsetMode = PixelOffsetMode.HighSpeed; + g.InterpolationMode = InterpolationMode.Low; + g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault; + g.CompositingQuality = CompositingQuality.HighSpeed; g.Clear(BackColor); g.MultiplyTransform(Matrix); @@ -173,6 +189,8 @@ catch (Exception) { } + + _isInRepaint = false; } private void halfTransparent() @@ -614,6 +632,9 @@ if (map == null) return; + MAP?.Dispose(); + MAP = null; + MAP = map; //MAP = map; -- Gitblit v1.8.0