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

ASP.NET
ADO+ 引导数据种类的演变(转自 ms 一)
C#抢鲜快报之FAQ20
通过指定IP地址得到当前的网络上的主机的域名
网上追捕(很多实用的port)
asp+中的发送者是什么意思
一个完整的网上追捕的原程序
C#里操作时间的例子!
查看主机的内存使用情况
asp+中是如何连接数据库ado+的
一个用c#写的扫描asp源码漏洞的应用程序
一个用c#写的扫描asp源码漏洞的应用程序(续)
两个获取http页面的c#函数
asp.net高级教程(一)---asp.net , 还是asp+ ?
asp.net高级教程(二)--- 转换编程思维
asp.net高级教程(三)---对象
asp.net高级教程(三)---实战篇
asp.net高级教程(五)---实战篇(中)
C#消息队列应用程序 -1
C#消息队列应用程序 -2
使用 ASP+ 列表绑定控件(上)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 231 ::
收藏到网摘: 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); } }