Mam kodzik:
#include <iostream>
#include <windows.h>
#include <stdio.h>
using namespace std;
int main()
{
static BITMAPINFO bh;
unsigned char* bits = new unsigned char[1080*1920*3];
HDC hdc = GetDC(HWND_DESKTOP);
HBITMAP hbm = CreateCompatibleBitmap( hdc, 1920, 1080);
bh.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bh.bmiHeader.biWidth = 1920;
bh.bmiHeader.biHeight = 1080;
bh.bmiHeader.biPlanes = 1;
bh.bmiHeader.biBitCount = 24;
bh.bmiHeader.biCompression = BI_RGB;
bh.bmiHeader.biSizeImage = 0;
GetDIBits(hdc,hbm,0,1080,bits,(BITMAPINFO*)&bh,DIB_RGB_COLORS);
FILE *f = fopen("C:\dump.raw", "wb");
fwrite(bits, 1, 1920*1080*3, f);
fclose(f);
return 0;
}
Który powinien raczej działać, ale do pliku mi zwraca całą czarną tablicę (obraz jest cał czarny). Jakieś pomysły? Szukam i szukam, pytałem paru osób, ale nie wiem o co może chodzić :(