关于C#双缓冲处理(BufferedGraphicsContext对象)
2021-03-27 11:27
标签:出现 div cat graphics 渲染 color new 解释 phi https://blog.csdn.net/keep_silence_/article/details/7849880 https://blog.csdn.net/acs713/article/details/16359551 看了以上两个网址总结一下吧,因为现在研究的是C#所以重点只放在C#的BufferedGraphicsContext对象身上。 按照第二个网址贴出的代码会覆盖原本的绘图层出现 全部黑色背景。 总结两段代码 重复可用,简单。 关于双缓冲原理解释,上面第二个链接讲得还是很通俗易懂的。 关于C#双缓冲处理(BufferedGraphicsContext对象) 标签:出现 div cat graphics 渲染 color new 解释 phi 原文地址:https://www.cnblogs.com/xiaowugoto/p/9355501.html private void Show(Control control)
{
// 创建缓冲图形上下文
BufferedGraphicsContext bct = new BufferedGraphicsContext();
// 创建指定大小缓冲区
BufferedGraphics bg = bct.Allocate(control.CreateGraphics(), new Rectangle(new Point
(0,0),control.Size));
//创建GDI+画图区域
Graphics g = bg.Graphics;
//清除背景颜色(变为默认背景颜色)
g.Clear(this.BackColor);
//跟平常Graphics绘图一样
Pen p = new Pen(Color.Red, 1);
g.DrawRectangle(p,5,5,50,50);
// 将双缓冲区中的图形渲染到指定画布上
bg.Render(control.CreateGraphics());
//释放
bg.Dispose();
g.Dispose();
}
上一篇:C#网编Winform(三)
下一篇:C#之Invoke学习
文章标题:关于C#双缓冲处理(BufferedGraphicsContext对象)
文章链接:http://soscw.com/index.php/essay/68560.html