本文介绍了如何使用DirectX10或DirectX11进行全屏捕获?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hello

我使用Directx10开发了C ++应用程序。

I developed C++ Application with Directx10.

我想使用DirectX10捕获全屏捕获(2010年6月)版本)。

I'm want to capture full screen capture use DirectX10 (June 2010 Version).

使用DirectX9版本,无法捕获前面的图像,如下面的源代码。

/////////////// ////////////////////////////////////////////////// ///////////////

With DirectX9 version, cant capture front Image like below source code.
////////////////////////////////////////////////////////////////////////////////

  parameters.Windowed     = TRUE;

  ; parameters.BackBufferCount   = 1;

  parameters.BackBufferHeight   = mode.Height;

  parameters.BackBufferWidth   = mode。宽度;

  parameters.SwapEffect    = D3DSWAPEFFECT_DISCARD;

  parameters.hDeviceWindow   = NULL;

 parameters.Windowed    = TRUE;
 parameters.BackBufferCount  = 1;
 parameters.BackBufferHeight  = mode.Height;
 parameters.BackBufferWidth  = mode.Width;
 parameters.SwapEffect   = D3DSWAPEFFECT_DISCARD;
 parameters.hDeviceWindow  = NULL;

  //创建设备&捕获表面

  // HRCHECK(d3d-> CreateDevice(适配器,D3DDEVTYPE_HAL,NULL,D3DCREATE_SOFTWARE_VERTEXPROCESSING,&参数和&设备));

  HRCHECK(d3d-> CreateDevice(适配器,D3DDEVTYPE_HAL,NULL,D3DCREATE_HARDWARE_VERTEXPROCESSING,&参数和&设备));

 // create device & capture surface
 //HRCHECK(d3d->CreateDevice(adapter, D3DDEVTYPE_HAL, NULL, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &parameters, &device));
 HRCHECK(d3d->CreateDevice(adapter, D3DDEVTYPE_HAL, NULL, D3DCREATE_HARDWARE_VERTEXPROCESSING, &parameters, &device));

  HRCHECK(device-> CreateOffscreenPlainSurface(mode.Width) ,mode.Height,D3DFMT_A8R8G8B8,D3DPOOL_SYSTEMMEM,& surface,NULL));

 HRCHECK(device->CreateOffscreenPlainSurface(mode.Width, mode.Height, D3DFMT_A8R8G8B8, D3DPOOL_SYSTEMMEM, &surface, NULL));

  HRCHECK(device-> GetFrontBufferData(0,surface));

//////////////////////////////////////////////// ////////////////////////////////

 HRCHECK(device->GetFrontBufferData(0, surface));
////////////////////////////////////////////////////////////////////////////////



但我找不到任何方法来使用Direct10或Direct11捕获frontBuffer图像数据。

是否有关于此的任何示例代码或导频代码?

请告诉我。


But I Can't find any way to capture frontBuffer Image data using Direct10 or Direct11.
Is ther any sample code or pilot code about this?
Please let me know.

推荐答案


这篇关于如何使用DirectX10或DirectX11进行全屏捕获?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-21 13:10