C# Picturebox控件上画图闪烁问题的解决方案

引用:C# 绘图中的图片闪烁问题解决方法的使用结果

Graphics g = e.Graphics;

        //注意,这里千万不可用Graphics g = this.CreateGraphics() 获得绘图变量。否则闪烁将非常厉害。

        Bitmap b = new Bitmap(this.Width, this.Height);
        Graphics dc = Graphics.FromImage((System.Drawing.Image)b);

       

        //将要绘制的内容绘制到dc上

 

        g.DrawImage(b, 0, 0);
        dc.Dispose();

使用实例:

        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            //注意,这里千万不可用Graphics g = this.CreateGraphics() 获得绘图变量。否则闪烁将非常厉害。

            Bitmap b = new Bitmap(this.Width, this.Height);
            Graphics gg = Graphics.FromImage((System.Drawing.Image)b);
            Pen bi = new Pen(Color.Blue, 2);
            for (int i = 0; i < 1; i++)
            {
                Point p1 = new Point(PixCor[i, 1], PixCor[i, 2]);
                Point p2 = new Point(PixCor[i, 3], PixCor[i, 4]);
                Point p3 = new Point(PixCor[i, 5], PixCor[i, 6]);
                Point p4 = new Point(PixCor[i, 7], PixCor[i, 8]);

                gg.DrawLine(bi, p1, p2);
                gg.DrawLine(bi, p2, p3);
                gg.DrawLine(bi, p3, p4);
                gg.DrawLine(bi, p4, p1);

            }
            gg.Dispose();


            //将要绘制的内容绘制到dc上

            g.DrawImage(b, 0, 0);
            gg.Dispose();
    }

 

posted on 2017-04-20 16:54  小圈子  阅读(2862)  评论(0编辑  收藏  举报

导航