|
|
我按help上说的填充了以下一个结构:
DDBLTFX ddbltfx;
memset(&ddbltfx,0,sizeof(ddbltfx));
ddbltfx.dwSize=sizeof(ddbltfx);
ddbltfx.dwRotationAngle=angle;//angle=45
ddbltfx.dwDDFX=DDBLTFX_NOTEARING;
lpddsdes->Blt(&des_rect,lpddssrc,&rect,
DDBLT_WAIT|DDBLT_KEYSRC|DDBLT_ROTATIONANGLE,&ddbltfx);
这样运行时lpddssrc根本没blt到lpddsdes(blt后是透明的)!用DDBLT_DDFX的DDBLTFX_ROTATE90也一样!
而上面最后一行如果改成:
lpddsdes->Blt(&des_rect,lpddssrc,&rect,DDBLT_WAIT|DDBLT_KEYSRC,NULL);
就没问题。
我又看到网上说现在多数显卡都不支持ddraw里blt的任意角度旋转,这是真的么?那要如何实现旋转啊? |
|