这段代码的目的就是要实现将jbq.png这个图片通过双缓冲显示到我们的FOrm上,但是运行后确只显示黑色的背景,大侠们看看是什么原因??另外这段代码参杂了GDI和GDI+,有谁知道怎么用纯GDI写一下?大家不妨发表一下意见??
IntPtr hdc = this.CreateGraphics().GetHdc();//得到窗体的句柄
Bitmap menbitmap = new Bitmap(this.ClientSize.Width, this.ClientSize.Height);//创建内存画布
Graphics g = Graphics.FromImage(menbitmap);
IntPtr menbitmaphdc = g.GetHdc();//得到内存画布的句柄
Image myBitmap = new Bitmap(@"D:\jbq.png");//生成一个图片实例
Graphics m = Graphics.FromImage(myBitmap);
IntPtr myBitmaphdc = m.GetHdc();//得到图片的句柄
SelectObject(menbitmaphdc, myBitmaphdc);//将图片选入内存画布
SelectObject(hdc, menbitmaphdc);//将内存画布选入窗体句柄
BitBlt(menbitmaphdc, 0, 0, 16, 16, myBitmaphdc, 0, 0, SRCCOPY);//将图片贴到内存画布
BitBlt(hdc, 0, 0, this.ClientSize.Width, this.ClientSize.Height, menbitmaphdc, 0, 0, SRCCOPY);//将内存画布贴到窗体上
DeleteObject(myBitmaphdc);