最近做一个医疗器械项目 终端的软件需要显示波形 但是在picturebox 重绘时发现闪烁现象严重
问题原因:重绘时调用picture的refresh 即在重绘间 会有一次picturebox什么也不显示 人眼看上去就像是闪烁。
解决思路:将重绘时下一张图片作为背景贴在picturebox上 代码如下 此时不需要refresh函数
Bitmap image = new Bitmap(pictureBox1.ClientSize.Width, pictureBox1.ClientSize.Height);
Graphics g = Graphics.FromImage(image);
// 绘图部分 Begin
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; //开启平滑处理
Pen p2 = new Pen(Color.White, 1);//定义了一个白色,宽度为1的画笔
g.DrawLine(p2, 0, 40, 2400, 40); //画基准线
p2.Dispose();
Pen p = new Pen(Color.LimeGreen, 3);//定义了一个亮绿,宽度为3的画笔
g.DrawLines(p, point);//在画板上画波形图
p.Dispose();
//画波形截取线
Pen p3