D3D 中LPD3DXSPRITE(点精灵)对图片进行缩放旋转透明处理

来源:互联网 发布:小黄鸡聊天机器人数据 编辑:程序博客网 时间:2024/05/17 22:32

   D3DXMatrixTransformation2D 函数的具体内容http://blog.csdn.net/bojie5744/article/details/34424355

    点精灵的创建                                                   http://blog.csdn.net/bojie5744/article/details/30811941

当对上面有了解后,看下面的一个例子,实现图片的缩放,还有透明处理

pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,0,0), 1.0f, 0 );
 pd3dDevice->BeginScene();
 if ( SUCCEEDED( g_pSprite->Begin(D3DXSPRITE_ALPHABLEND) ) ) 
 {

/**********************对图片的操作区***********************/
  D3DXMATRIX mat;
  D3DXMatrixTransformation2D(&mat, NULL, 0.0f, &D3DXVECTOR2(0.5f, 0.5f),

   NULL, 0, &D3DXVECTOR2(150.0f, 100.0f));

  g_pSprite->SetTransform(&mat);

/**********************对图片的操作区***********************/

  g_pSprite->Draw(pBack,NULL, NULL, NULL, 0x99ffffff);//0x99ffffff为透明度值,不透明到完全透明的取值范围:0xffffffff~~0x00ffffff
  g_pSprite->End(); 

 } 
 pd3dDevice->EndScene();
 pd3dDevice->Present( NULL, NULL, NULL, NULL );

下面来看变化前的图(750*500)和变化后的图片

窗口大小(800*600)

 

0 0