getdibits

    0热度

    1回答

    试图将窗口的屏幕截图作为位图。下面的代码是创建一个大小合适的位图,但每个像素都是黑色的。换句话说,GetDIBits将imageBuffer设置为全0。 发布的代码为每个在屏幕上打开并可见的记事本保存一个位图。没有任何断言失败。 的BITMAPFILEHEADER和实际写入到一个文件中被省略,因为最后的循环与断言设置ImageBuffer的所有0的节目的GetDIBits,所以没有必要点后,检查代

    0热度

    1回答

    我刚刚意识到在GDI中有BITMAP,然后在GetDIBits的几乎所有例子中都做了GetObject(hBmp, sizeof(BITMAP), &bmp);。但新填充的bmp在这里有一个字段:bmBits 如果我已经在这里有位图的位,为什么我会再次拨打GetDIBits?使用CreateDIBSection创建位图时 感谢, 阿里帆

    0热度

    1回答

    我想使用GetDIBits加载位图在C++中。下面是我使用的代码: HBITMAP hBmp = LoadBitmap(hInstance, MAKEINTRESOURCE(id)); BITMAP BM; GetObject(hBmp, sizeof(BM), &BM); GLvoid* bits = NULL; BITMAPINFO bitmap_info; mems

    0热度

    3回答

    使用的GetDIBits(以下代码)不给我所需要的输出:(gBit.bmp是一个1366×768的位图是全白) #include <windows.h> #include <iostream> using namespace std; int main() {int i; HDC MemDC=CreateCompatibleDC(NULL); HBITMAP hBit=(HBITM

    0热度

    1回答

    我正在C++中构建一个dll以导入到VB项目中。 dll公开了一个函数,它将通过Win Shell提取指定文档的预览图像,然后将其写入缓冲区以供VB应用程序使用。 到目前为止,我能够得到HBITMAP句柄没有问题。我也能够使用GetBitmapBits函数提取位图数据。但是,这将不起作用,因为需要位数据的对象需要它是独立于设备的格式。 我读过GetDiBits是用于此目的的函数,但我很难弄清楚如何

    0热度

    1回答

    我今天遇到的一个非常奇怪的问题。在MFC项目的VC6下运行代码,它是黑屏,它完美的工作,并显示桌面图片,如果我拿出评论。然而,这些代码在无限循环中执行,所以我尝试减少内存复制和内存花费,如BitBlt和CreateCompatibleBitmap等。我不明白我的程序如何与这些注释代码相关。任何人都知道是什么原因导致问题,为什 HDC hdcDesktop = ::CreateDC("DISPLAY

    0热度

    1回答

    我可以使用GetDIBits加载当前窗口的颜色内容,但我不知道如何从一个位置加载图像的颜色。有人能告诉我该怎么做吗? char str[256]; HDC hdc; HWND hDesktopWnd; HDC hDesktopDC; HDC hCaptureDC; HBITMAP hCaptureBitmap; BITMAPINFO bmi = {0};

    3热度

    1回答

    我编写了下面的代码(C++ Win32)来捕获游戏窗口屏幕并从图像中获取像素颜色数组。函数autoB()完成这项工作。 然后我将结果数组绘制到我的窗口中,以便直观地检查我得到的结果。 问题是这个程序在我启动计算机之后只能运行一次,在第一次“缓存”从游戏中获得的第一个截图后,我总是得到相同的像素数组。即使我关闭并重新启动程序,我也会得到相同的屏幕截图。 游戏并未使用DirectX在屏幕上绘图,而且我

    0热度

    1回答

    我有一个将hwnd保存为ppm文件的功能。 此功能受msdn示例启发。 msdn示例和我的功能都可以工作,但是...我有一个问题... 但首先,这里是函数。 int CaptureAnImage(HWND hWnd) { HDC hdcWindow; HDC hdcMemDC = NULL; HBITMAP hbmScreen = NULL; RECT r

    0热度

    1回答

    前段时间我问过一个关于将hwnd保存为ppm文件的问题。感谢一个计算器用户,我解决了我的问题。我的工作正常,但我仍然有一个问题:红色和蓝色的颜色是颠倒的。 的代码和我刚才的问题,其中在这里: hwnd to ppm issue 这里是位图信息数据: bi.biSize = sizeof(BITMAPINFOHEADER); bi.biWidth = w; bi.biHeight = -h;