GDI+实现双缓冲绘图方法一

        private void Form5_MouseMove(object sender, MouseEventArgs e)

        {

            int intOX = rectDrawArea.X;

            int intOY = rectDrawArea.Y;

            rectDrawArea.X = e.X;

            rectDrawArea.Y = e.Y;

            Debug.WriteLine(rectDrawArea.ToString());

            //Invalidate();

            MyDrawFun();

        }



        private void MyDrawFun()

        {

            Graphics go = Graphics.FromHwnd(this.Handle);

            Bitmap bitmap = new Bitmap(this.ClientSize.Width, this.ClientSize.Height);

            Graphics g = Graphics.FromImage(bitmap);

            g.Clear(System.Drawing.SystemColors.Control);

            g.DrawRectangle(Pens.Red, rectDrawArea);

            Bitmap logo = Properties.Resources.baidulogo;

            g.DrawImage(logo, 0, 0);

            go.DrawImage(bitmap, 0, 0, this.ClientSize.Width, this.ClientSize.Height);

            g.Dispose();

            bitmap.Dispose();

        }

 

你可能感兴趣的:(DI)