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();
        }

 

posted on 2014-05-06 23:25  qiu2013  阅读(1572)  评论(0编辑  收藏  举报

导航