C#画图的时候 如何实现不闪烁呢?
1. 我先在Paint 把 所有要画的内容画到 m_bmpBackLine01;//Bitmap m_bmpBackLine01
2. this.CreateGraphics().DrawImage(m_bmpBackLine01, 15, 0);//画到form上
3. 定时器1000ms 定时刷新 调用 this.Invalidate();
结果闪烁很厉害,添加了
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
this.SetStyle(ControlStyles.UserPaint, true);
this.SetStyle(ControlStyles.ResizeRedraw, true);
还是一样 感觉更严重一些. 图的整个屏幕.
2. this.CreateGraphics().DrawImage(m_bmpBackLine01, 15, 0);//画到form上
3. 定时器1000ms 定时刷新 调用 this.Invalidate();
结果闪烁很厉害,添加了
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
this.SetStyle(ControlStyles.UserPaint, true);
this.SetStyle(ControlStyles.ResizeRedraw, true);
还是一样 感觉更严重一些. 图的整个屏幕.
...全文
相关推荐
C#可透明并且不闪烁的Panel
C# 可透明Panel(不闪烁) 在重绘的有背景窗体中使用 在窗口大小改变的时候绝对不闪烁
C#中实现Panel绘图无闪烁的技术要点
闪烁现象是指在电子显示屏上,图像快速不稳定地变化,导致用户视觉上的不适感。在软件应用中,特别是在图形用户界面(GUI)开发中,屏幕闪烁会严重影响用户体验。要深入理解绘图闪烁,首先需要了解它的成因。在典型的GUI应用中,每一帧的绘制都需要通过硬件设备来完成,这个过程可能涉及多个层次的缓冲。如果屏幕更新的频率不足,或者在渲染过程中出现了资源竞争和资源分配不当,就有可能导致画面的闪烁。具体来说,当GPU处理速度跟不上绘图请求的频率时,旧的图像和新的图像在短时间内交替显示,就会造成闪烁。
C# 高仿 Windows 画图板
C# 高仿 Windows 画图板,实现图片的打开/保存/文字绘制/矩形/圆形/椭圆形/圆角矩形/画刷/画笔/喷枪/曲线/取色等功能。
C# 双缓冲区实现解决屏幕闪烁问题
C# 双缓冲区实现解决屏幕闪烁问题源代码实例
实现窗体的一个闪烁效果(C#)
没有什么技术含量,纯属为了初学者对window的一些系统函数的有一定的了解


