如何从CDC创建Gdiplus :: Bitmap

时间:2014-10-28 19:30:26

标签: c++ mfc gdi+ gdi msdn

我正在尝试从设备上下文创建Gdiplus::Bitmap。我使用的功能是:

Bitmap bitmap((HBITMAP)myDC.GetCurrentBitmap(), (HPALETTE)myDC.GetCurrentPalette());

...但是当我在屏幕上绘制位图时,我看到的只是一个黑色矩形。我认为我正在使用Bitmap构造函数错误,因为在文档中写道:

  

不要将GDI + Bitmap :: Bitmap构造函数传递给GDI位图或   当前(或之前)被选入的GDI调色板   设备背景。

但我不知道如何解决这个问题。我尝试的另一种方法是使用:

  

要从窗口捕获预先存在的图像,必须使用Windows图形设备接口(GDI)函数(如BitBlt()或StretchBlt())将图像从屏幕复制到内存位图。然后可以在重载的Bitmap构造函数中使用此内存位图,该构造函数将HBITMAP作为参数。

但我也无法做到这一点。

0 个答案:

没有答案