Ik probeer een image die in een HDC staat in de backbuffer HDC te krijgen en vervolgens de backbuffer naar het scherm te blitten.
Ik doe dat met een BitBlt.
Hieronder een voorbeeld.
Het resultaat is dat ik alleen de pixel die in de backbuffer staat zie en geen image.
Als ik de image rechtstreeks naar het scherm blit doet ie het wel...
Ik ben vast iets vergeten of maak een denkfout. Maar ik kom er nu echt niet meer uit.
Alvast bedankt hè!
Ik doe dat met een BitBlt.
Hieronder een voorbeeld.
Het resultaat is dat ik alleen de pixel die in de backbuffer staat zie en geen image.
Als ik de image rechtstreeks naar het scherm blit doet ie het wel...
Ik ben vast iets vergeten of maak een denkfout. Maar ik kom er nu echt niet meer uit.
Alvast bedankt hè!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| HDC hdcScrn, hdcBack, hdcTemp;
HBITMAP hbitmapBack, hbitmapTemp;
hdcScrn = GetDC(NULL);
hdcBack = CreateCompatibleDC(hdcScrn);
hdcTemp = CreateCompatibleDC(hdcScrn);
hbitmapBack = CreateCompatibleBitmap(hdcBack, 1280, 1024);
SelectObject(hdcBack, hbitmapBack);
DeleteObject(hbitmapBack);
hbitmapTemp = (HBITMAP)LoadImage(0, "i.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION);
SelectObject(hdcTemp, hbitmapTemp);
DeleteObject(hbitmapTemp);
SetPixel(hdcBack, 0, 0, 0x00ddddff);
BitBlt(hdcBack, 400, 400, 300, 300, hdcTemp, 0, 0, SRCCOPY);
BitBlt(hdcScrn, 0, 0, 1280, 1024, hdcBack, 0, 0, SRCCOPY); |