|
|
最近试着调试的一个directdraw程序,可是运行出来的是图象的色彩模糊,觉得是调色板的问题,可是又看不出来,大伙帮忙看看!
程序片段:
……
ddsd.dwSize = sizeof(ddsd);
ddsd.dwFlags = DDSD_CAPS|DDSD_BACKBUFFERCOUNT;
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE|DDSCAPS_FLIP|DDSCAPS_COMPLEX;
ddsd.dwBackBufferCount = 1 ;
if(FAILED(hr = g_lpdd->CreateSurface(&ddsd,&g_lpFrontSurface,NULL)))
return E_FAIL;
ddscaps.dwCaps = DDSCAPS_BACKBUFFER;
if(FAILED(hr = g_lpFrontSurface->GetAttachedSurface(&ddscaps,&g_lpBackSurface)))
return E_FAIL;
// g_lpBackSurface->AddRef();
g_lpOffScreen=DDLoadBitmap(g_lpdd,"test.bmp");
myddp=DDLoadPalette(g_lpdd,"test.bmp");
if(myddp)
g_lpOffScreen->SetPalette(myddp);
SAFE_RELEASE(myddp);
……
源程序附上,
|
|