You could make a DC:
HDC hdcImage;
hdcImage = CreateCompatibleDC( NULL );
Then get a DC to the DDraw surface:
HDC hdc;
lpDDSBitmap->GetDC( &hdc );
Now BitBlt into hdcImage:
DDSURFACEDESC2 ddsd;
ddsd.dwSize = sizeof( ddsd );
ddsd.dwFlags = DDSD_HEIGHT | DDSD_WIDTH;
lpDDSBitmap->GetSurfaceDesc( &ddsd );
BitBlt( hdcImage, 0, 0, ddsd.dwWidth, ddsd.dwHeight, hdc, 0, 0, SRCCOPY );
And, of course, release the DC:
lpDDSBitmap->ReleaseDC( hdc );
------------------
- mallen22@concentric.net
- http://members.tripod.com/mxf_entertainment/