LabelPlus.PicView.PicView_Paint C# (CSharp) Method

PicView_Paint() private method

private PicView_Paint ( object sender, PaintEventArgs e ) : void
sender object
e PaintEventArgs
return void
        private void PicView_Paint(object sender, PaintEventArgs e)
        {
            try
            {
                Graphics g = e.Graphics;
                clientRect = e.ClipRectangle;
                RectangleF imageRect = new RectangleF(startP.X * zoom, startP.Y * zoom, clientRect.Width, clientRect.Height);

                g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighSpeed;

                //构建缓存
                Image myBuffer = new Bitmap(clientRect.Width, clientRect.Height);
                Graphics gBuffer = Graphics.FromImage(myBuffer);
                gBuffer.Clear(Color.White);
                if (image != null)
                    gBuffer.DrawImage(image, clientRect, imageRect, GraphicsUnit.Pixel);

                //缓存->屏幕
                g.DrawImage(myBuffer, 0, 0);

                // if(g != null) g.Dispose(); // 屏幕不可删除
                if(myBuffer != null) myBuffer.Dispose();
                if(gBuffer != null) gBuffer.Dispose();
            }
            catch { }
        }