WinForm之GDI手动双缓冲技术

 private void button1_Click(object sender, EventArgs e)

{

    Bitmap bmp=new Bitmap(this.picturebox.Width,this.picturebox.Height);   //在内存中创建一个bmp图,bmp的大小和窗口中picturebox的大小相同

    Graphics g=Graphics.FromImage(bmp);  //通过内存中的bmp图像创建一个在内存中的画布g,那么在画布上的任何操作就都是在内存中操作了

    Brush b = new SolidBrush(Color.Green);  //创建一个绿色的笔刷

    Rectangle r = new Rectangle(10,10,this.picturebox.Width,this.picturebox.Height);  //创建一个长方形

    g.FileRectangle(b,r);  //在内存中的画布中画我们要画的图形

    b.Dispose();  //释放画笔

    g.Dispose();  //释放画布

    this.picturebox.CreateGraphics().DrawImage(bmp,0,0);  //最后就是我们手动双缓冲技术的 最后一步了,就是将内存中的bmp的图像一次性的展示到窗口中的picturebox中

}

猜你喜欢

转载自www.cnblogs.com/jmy9/p/10782266.html