yangyin
2025-03-27 b0de14c2670b9ff0079dacfb4b7457b438368f11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#region Imports
 
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Drawing.Text;
 
#endregion
 
namespace DPumpHydr.WinFrmUI.RLT.Drawing.Poison
{
    #region PoisonBackBufferDrawing
 
    internal sealed class PoisonBackBuffer
    {
        private readonly Bitmap backBuffer;
 
        public PoisonBackBuffer(Size bufferSize)
        {
            backBuffer = new(bufferSize.Width, bufferSize.Height, PixelFormat.Format32bppArgb);
        }
 
        public Graphics CreateGraphics()
        {
            Graphics g = Graphics.FromImage(backBuffer);
 
            g.CompositingMode = CompositingMode.SourceOver;
            g.CompositingQuality = CompositingQuality.HighQuality;
            g.InterpolationMode = InterpolationMode.High;
            g.PixelOffsetMode = PixelOffsetMode.HighQuality;
            g.SmoothingMode = SmoothingMode.AntiAlias;
 
            g.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
 
            return g;
        }
 
        public void Draw(Graphics g)
        {
            g.DrawImageUnscaled(backBuffer, Point.Empty);
        }
    }
 
    #endregion
}