Jump to content

  • Log In with Google      Sign In   
  • Create Account


BugShan

Member Since 30 Sep 2011
Offline Last Active Nov 22 2012 07:08 AM
-----

Topics I've Started

a question about d3d display ,for help

08 November 2011 - 03:19 AM

Now ,I have a problem with d3d programming.I want to use d3d to display a image on the screeen.Although I have set the colorkey as 0xffff00ff, but the image is always in black box.
My code is as the following:
        //set the render state

        m_pD3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);
	m_pD3dDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
	m_pD3dDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);

        //create a surface and load the image

        HRESULT hResult=D3DXGetImageInfoFromFile(imageFile,&imageInfo);
	if(S_OK!=hResult)
		return NULL;
	hResult=m_pD3dDevice->CreateOffscreenPlainSurface(imageInfo.Width,
		imageInfo.Height,D3DFMT_A8R8G8B8,D3DPOOL_DEFAULT,
		&surface/*m_pSurface[m_nSurfaceUsed]*/,NULL);
	
	if(S_OK!=hResult)
		return NULL;
	hResult=D3DXLoadSurfaceFromFile(surface/*m_pSurface[m_nSurfaceUsed]*/,NULL,NULL,
		imageFile,NULL,D3DX_DEFAULT,colorKey,NULL);                                                                         //i have sat the colorkey as 0xffff00ff
        hResult=m_pD3dDevice->StretchRect(surface,res,m_pBackBuffer,dest,D3DTEXF_NONE);


i know that i can use another metohd to display this image ,such as IDXSprite,but i always want to know why my code doesnt work .
where is woring or the StretchRect function doesnt support the transprarency color ? anybody can help me?Thanks!

PARTNERS