|
|
用 StretchRect() 时出现错误,不太明白,请高人相助!
LPDIRECT3DSURFACE9 lpTexSur,lpBackSur;
LPDIRECT3DTEXTURE9 lpTex;
RECT rect1={0,0,256,256};
RECT rect2={100,100,356,356};
if(FAILED(D3DXCreateTextureFromFile(g_lpD3DDev,"res\\x.bmp",&lpTex)))
MessageBox(hWnd,"no x.bmp!",NULL,NULL);
if(FAILED(g_lpD3DDev->GetBackBuffe( 0,0,D3DBACKBUFFER_TYPE_MONO,&lpBackSur)))
MessageBox(hWnd,"Get Back Buffer Fail!",NULL,NULL);
if(FAILED(lpTex->GetSurfaceLevel(0,&lpTexSur)))
MessageBox(hWnd,"Tex Get Surface Level Fail!",NULL,NULL);
if(FAILED(g_lpD3DDev->StretchRect( lpTexSur,&rect1,lpBackSur,&rect2,D3DTEXF_NONE )))
MessageBox(hWnd,"Stretch Rect Fail!!!",NULL,NULL);
else
MessageBox(hWnd,"SUCCEEDED!!!",NULL,NULL);
运行结果是StretchRect()时失败.看了SDK,只能看懂个大概,是因为TEXSURFACE不能向BACKSURFACE复制?不太清楚.请大大帮忙啊,THANK YOU! |
|