我正在尝试从设备上下文创建Gdiplus::Bitmap
。我使用的功能是:
Bitmap bitmap((HBITMAP)myDC.GetCurrentBitmap(), (HPALETTE)myDC.GetCurrentPalette());
...但是当我在屏幕上绘制位图时,我看到的只是一个黑色矩形。我认为我正在使用Bitmap
构造函数错误,因为在文档中写道:
不要将GDI + Bitmap :: Bitmap构造函数传递给GDI位图或 当前(或之前)被选入的GDI调色板 设备背景。
但我不知道如何解决这个问题。我尝试的另一种方法是使用:
要从窗口捕获预先存在的图像,必须使用Windows图形设备接口(GDI)函数(如BitBlt()或StretchBlt())将图像从屏幕复制到内存位图。然后可以在重载的Bitmap构造函数中使用此内存位图,该构造函数将HBITMAP作为参数。
但我也无法做到这一点。