当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 使用 GDI+ 进行双缓冲绘图

ASP.NET
用 Asp.Net 建立一个在线 RSS 新闻聚合器的方法
关于前台调用后台事件__doPostBack函数
Bin 和 App_Code 文件夹介绍
.NET 2.0 的压缩功能代码
解决Visual Studio 2005 无法显示设计视图的方法
asp.net(c#)两种随机数的算法,可用抽考题
asp.net下url传递中文的解决方案
XmlReader 读取器读取内存流 MemoryStream 的注意事项
asp.net下创建、查询、修改带名称空间的 XML 文件的例子
使用.NET存储XML数据的方法
XslTransform.Transform将结果输出到字符串里的方法
安装 VS2005 SP1 有关问题的解决办法
asp.net下中文验证码,免费开源代码
自定义应用程序配置文件(app.config)
asp.net下使用DIME协议上传文件
动态改变ASP.net页面标题和动态指定页面样式表的方法
WEB上调用HttpWebRequest奇怪问题的解决方法
HTTP协议下用Web Service上传大文件的解决方案
asp.net下Response.ContentType类型汇总
ASP.NET User Control使用技巧一则

ASP.NET 中的 使用 GDI+ 进行双缓冲绘图


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 200 ::
收藏到网摘: n/a

所谓“双缓冲”,我的理解是在绘图时并不是直接绘到目标设备(例如显示器)上,而是在内存中开辟一个缓冲区,在这个缓冲区里完成所有的绘图后,直接将其“拷贝”到目标设备上,其中的原理很简单。采用双缓冲技术,由于绘图操作大部分在内存中完成,所以绘图速度没有太大的制约;此外,当进行复杂的绘图操作时,使用双缓冲技术可以有效的防止画面的闪烁。  在 .Net 中,由于 GDI+ 的引入,实现双缓冲更加简单:建立缓冲区从缓冲区取得 Graphics handle, 使用其进行绘图将缓冲区内已绘好的图显示到目标设备上  代码如下: using(Bitmap buffer = new Bitmap(WIDTH, HEIGHT)) { using(Graphics buf_g = Graphics.FromBitmap(buffer)) { //using buf_g to do the drawing, like this: buf_g.DrawRectangle(10, 10, 120, 150); //.... //end of the drawing code } using(Graphics g = /* ... */) { //init g from a Control, or anything else g.DrawBitmap(buffer, 0, 0); } }