windows Mobile 双缓冲绘图
来源:互联网 发布:日漫多的软件 编辑:程序博客网 时间:2024/06/04 23:54
public class formWithBackGround : System.Windows.Forms.Form
{
protected Bitmap backBuffer;
public formWithBackGround()
{
backBuffer = new Bitmap(240, 268);
}
protected override void OnPaintBackground(PaintEventArgs e)
{
if (backBuffer != null)
{
using (Graphics gxBuffer = Graphics.FromImage(backBuffer))
{
gxBuffer.Clear(Color.Black);
using (Image backGroundImage = new Bitmap(System.Reflection.Assembly.GetExecutingAssembly()
.GetManifestResourceStream("CRM.bj.bmp")))
{
gxBuffer.DrawImage(backGroundImage, 0, 0);
}
}
e.Graphics.DrawImage(backBuffer, 0, 0);
}
else
{
e.Graphics.Clear(this.BackColor);
}
}
}
代码很简单,思路也很简单:
1、在内存中创建与画布一致的缓冲区
2、在缓冲区画图 3、将缓冲区位图拷贝到当前画布上 4、释放内存缓冲区
using起到了自动释放资源的作用,具体参见前面C# using的用法。
开始用双缓冲没达到效果,还是闪烁,在MSDN查看form的方法发现OnPaintBackground,顾名思义,为绘制背景的函数。开始是重载的OnPaint函数,在重载OnPaintBackground如下之后闪烁问题解决:
protected override void OnPaintBackground(PaintEventArgs e)
- windows Mobile 双缓冲绘图
- Windows 双缓冲绘图
- windows 双缓冲绘图
- 内存绘图、双缓冲绘图
- 内存绘图、双缓冲绘图
- Windows Mobile下播放PCM音频的双缓冲用法
- Windows Mobile下播放PCM音频的双缓冲用法
- Windows Mobile下播放PCM音频的双缓冲用法
- Windows Mobile下播放PCM音频的双缓冲用法
- 双缓冲绘图
- GDI双缓冲绘图
- vc双缓冲绘图?
- 双缓冲绘图
- GDI双缓冲绘图
- vc++ 双缓冲绘图
- MFC绘图,双缓冲
- VC双缓冲绘图
- VC6双缓冲绘图
- 断点失效问题
- banner flash图片轮播
- Windows Mobile 自定义控件(一)
- wireshark与最近所学知识的感想
- Windows Mobile 自定义控件(二)
- windows Mobile 双缓冲绘图
- .net中关于 DataTable利用NPOI导出到Excel
- http协议学习 - 协议详解篇
- NPOI中文技术文档网站
- 从store中获取数据
- 敢问路在何方——项目经理
- 努力啊努力~
- BUIW系列笔记之BUIW基础(一)
- [转载].Net将数据导出Word