WinForm之GDI手动双缓冲技术

北慕城南 提交于 2020-01-15 00:18:52

 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.FillRectangle(b,r); //在内存中的画布中画我们要画的图形
    b.Dispose(); //释放画笔
    g.Dispose(); //释放画布
    this.picturebox.CreateGraphics().DrawImage(bmp, 0, 0); //最后就是我们手动双缓冲技术的 最后一步了,就是将内存中的bmp的图像一次性的展示到窗口中的picturebox中

}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!