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 { }
}