保存D3D中当前视图

    m_pd3dDevice为是一个device class,相应代码如下:LPDIRECT3DDEVICE9

BOOL SaveViewToFile(CString strFileName)
{
	IDirect3DSurface9 *back = NULL;

	// 获得BackBuffer的D3D Surface
	m_pd3dDevice->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &back);

	// 保存成BMP格式
	D3DXSaveSurfaceToFile(strFileName, D3DXIFF_BMP, back, NULL, NULL);

	// 释放Surface,防止内存泄漏
	SAFE_RELEASE(back);

	return TRUE;
}

   PS : 使用 D3DXSaveSurfaceToFile需要添加 #include <d3dx9.h>.

   参考:http://www.cppblog.com/lovedday/archive/2007/05/11/23937.html   

               http://blog.sina.com.cn/s/blog_6a67b5c50100m04m.html

你可能感兴趣的:(D3D,保存当前视图)