[VC++ GDI] BitBlt tussen 2 off-scrn HDCs wil niet?

Pagina: 1
Acties:

  • durkagain
  • Registratie: April 2000
  • Laatst online: 12-04 16:38
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è!
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);

Verwijderd

Verplaats die DeleteObject's es naar het einde ?

  • durkagain
  • Registratie: April 2000
  • Laatst online: 12-04 16:38
Nope dat maakt niet uit helaas

Verwijderd

Uit de help van CreateCompatibleDC
When the memory DC is created, its display surface is exactly one monochrome pixel wide and one monochrome pixel high.
Dus op het moment dat jij een
code:
1
hbitmapBack = CreateCompatibleBitmap(hdcBack, 1280, 1024);

doet , maak je een Black & white Bitmap aan van 1280x1024.

veranderen naar:
code:
1
hbitmapBack = CreateCompatibleBitmap(hdcScrn , 1280, 1024);


En sjakka! :Y)

  • durkagain
  • Registratie: April 2000
  • Laatst online: 12-04 16:38
Aaaaaaaaah ja dat werkt dus wel... :D
sjit sjit wat stom van me *schaaam* :+

Hey bedankt hè!

Verwijderd

Op zondag 09 december 2001 16:31 schreef Dumb Ass Durruk het volgende:
sjit sjit wat stom van me *schaaam* :+
wehehe koste mij ook ff voor ik het doorhad hoor.. :Y)
Pagina: 1