윈도우 환경에서 스크린 캡쳐하는 C/C++코드가 필요합니다


게임 영상을 찍을 용도로 윈도우용 스크린 캐스팅 프로그램을 제작하고 있습니다.

속도가 중요해 GDI 말고 다른 방법을 쓰려고 찾고 있는데 관련 정보가 잘 안나오네요..

어느쪽으로 찾아보면 될까요?

  • 2016년 02월 04일에 작성됨

조회수 378


1 답변


좋아요
0
싫어요
채택취소하기

이 코드는 어떠신가요

void dump_buffer()
{
   IDirect3DSurface9* pRenderTarget=NULL;
   IDirect3DSurface9* pDestTarget=NULL;
     const char file[] = "Pickture.bmp";
   // 정상인지 확인.
   if (Device == NULL)
      return;

   // render target을 얻어옴
   HRESULT hr = Device->GetRenderTarget(0, &pRenderTarget);
   // 현재 adapter display mode를 얻어옴
   //hr = pDirect3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT,&d3ddisplaymode);

   // destination surface 생성
   hr = Device->CreateOffscreenPlainSurface(DisplayMde.Width,
                         DisplayMde.Height,
                         DisplayMde.Format,
                         D3DPOOL_SYSTEMMEM,
                         &pDestTarget,
                         NULL);
   // render target을 destination surface로 복사해옴
   hr = Device->GetRenderTargetData(pRenderTarget, pDestTarget);
   // bitmap 파일에 저장
   hr = D3DXSaveSurfaceToFile(file,
                              D3DXIFF_BMP,
                              pDestTarget,
                              NULL,
                              NULL);

   // 종료하기 전에 정리
   pRenderTarget->Release();
   pDestTarget->Release();
}
  • 2016년 02월 04일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close