코딩 오류가 발생하면 DirectX로 스크린샷을 찍어주세요. 오늘의 핸드북이 도움이 될 것입니다.
승인됨: Fortect
찾고 있는 제품이 아닌가요? DirectX 전체 화면 스크린샷이라고 하는 다른 질문에 답하거나 스스로에게 질문하십시오.
Detours를 사용하면 Direct3DCreate9
, IDirect3D9 :: CreateDevice
및 IDirect3D9 :: Present <에 대한 호출과 유사한 호출을 계측할 수 있습니다. /code> 활성화합니다. 다음은 이미지를 설정하고 캡처하는 데 필요한 프로세스입니다.
승인됨: Fortect
Fortect은 세계에서 가장 인기 있고 효과적인 PC 수리 도구입니다. 수백만 명의 사람들이 시스템을 빠르고 원활하며 오류 없이 실행하도록 신뢰합니다. 간단한 사용자 인터페이스와 강력한 검색 엔진을 갖춘 Fortect은 시스템 불안정 및 보안 문제부터 메모리 관리 및 성능 병목 현상에 이르기까지 광범위한 Windows 문제를 빠르게 찾아 수정합니다.
12월 26일 답변
65,700
이것은 DLL 주입을 사용하여 IDirect3DDevice9의 일부를 연결하고 EasyHook(예: Microsoft Detours)을 사용하여 기능을 연결하는 각각의 C # 예제입니다. 이것은 FRAPS의 기능과 관련이 있습니까?
이렇게 하면 회사에서 전체 화면보다 창 모드로 화면을 녹화할 수 있으며 백 버퍼를 사용하므로 프런트 버퍼에서 데이터를 가져오는 것보다 훨씬 빠릅니다.
런타임에 추가하기 위해 IDirect3DDevice9 개체의 메서드 정의에 사용되는 귀중한 C ++ 도우미 라이브러리.
업데이트: DirectX 10/11의 경우 D3D 9, 10 및 11용 스크린샷 및 오버레이 참조
2:02를 통해 2010년 5월 15일에 답변됨
1252
이것은 내가 테스트로 포함시킨 코드이며, 물론 작동합니다.
너비와 높이는 분명히 현재 창 크기가 아니라 창 모드에서 SCREEN의 질량입니다. 1280 x 1440으로 설정되어 있기 때문에 저도 마찬가지입니다. 렌더링할 창의 크기는 확실히 아닙니다.
mEngine-> getDevice()를 IDirect3DDevice9도 가져오려면 다중 선택 항목으로 대체해야 합니다. 방금 이 코드를 더 쉽게 사용하는 데 필요한 d3d 앱에 붙여넣었습니다. 그러나 이 도구는 가장 중요한 동시에 실행되는 다른 d3d 응용 프로그램과 마찬가지로 이 응용 프로그램의 출력을 성공적으로 캡처할 것이라고 장담할 수 있습니다.
아, 제가 이 특정 D3D9를 가지고 있다고 가정해 보겠습니다. 말씀하신 것처럼 d3d10 또는 11에 대해서는 확실하지 않습니다.
IDirect3DSurface9 * 표면;mEngine-> getDevice() -> CreateOffscreenPlainSurface(너비, 선행, D3DFMT_A8R8G8B8, D3DPOOL_SCRATCH, & 표면, NULL);mEngine-> getDevice() -> GetFrontBufferData(0, 표면);D3DXSaveSurfaceToFile("c: tmp output.jpg", D3DXIFF_JPG, 표면, NULL, NULL);표면-> 공유();
14:54에 26 '09에 응답
28.3k
물론 fraps: taksi와 같은 오픈 소스 소프트웨어가 매우 많지만 소프트웨어가 구식으로 보이지만
2008년 12월 26일 11시 20분경 13시 23분에 답변
251 11개의 실버 소장용 배지 55개의 청동 배지
다음은 Fraps가 작동하는 팁에 대한 설명입니다. 그렇게 쉬운 일이 아닙니다.
다른 장치의 외부 스트림을 읽는 데 방해가 되는 모든 키(directx)는 때때로 운이 좋으면 초기화되지 않은 메모리로 인해 가장 잘 작동할 수 있습니다.
09년 12월 29일 7:05에 회신
4,779
J99의 fulfil에 이어 창 모드와 전체 화면 모드를 찾기 위한 코드 작업을 마쳤습니다. 이것은 D3D9에도 적용됩니다.
IDirect3DSurface9 * 표면; D3DD디스플레이 모드; pDev-> GetDisplayMode (0, & 모드); // pDev는 내 남편이자 * IDirect3DDevice입니다. // 전체 화면을 캡처할 수 있습니다. // 따라서 현재 선택 모드와 일치하지 않는 크기와 높이 pDev-> CreateOffscreenPlainSurface (mode.Width, mode.D3DFMT_A8R8G8B8, 높이, D3DPOOL_SCRATCH, & 표면, NULL); if (pDev-> GetFrontBufferData(0, 표면) == D3D_OK) if (bWindowed) // 국제 설정 변수 // 프로그램 영역을 사무실 좌표로 표시 // 프린터 화면을 지원하기 위해 변환이 필요할 수 있음 RECT r; GetClientRect(hWnd, & r); // hWnd는 또한 우리 창에 대한 핸들입니다. 포인트 p = 0, 0; ClientToScreen (hWnd, & p); SetRect (& r, p.x, p.y, p.x + r. 오른쪽, p.y + r. 아래); D3DXSaveSurfaceToFile(szFilename, D3DXIFF_JPG, 앞으로 NULL, & r); 또 다른 D3DXSaveSurfaceToFile(szFilename, D3DXIFF_JPG, 바닥, NULL, NULL); 표면-> 공유();
CreateOffscreenPlainSurface 풀의 일부 형식과 설정이 정확히 같아야 하는 것 같습니다.
2012년 10월 2일 오전 11시 33분에 표시됨
를 의미합니다.
495
지금 이 간단한 다운로드로 컴퓨터 성능을 높이십시오. 년스크린샷을 찍는 데 필요한 앱을 클릭합니다.t + 화면 인쇄를 누릅니다.MS-Paint를 엽니다.Ctrl + V를 누릅니다.이것은 그림판에 표시된 창의 스크린샷을 삽입할 것으로 예상됩니다.
이 핫링크를 누르면 측면 및 볼륨 낮추기 버튼이 빠르게 해제됩니다.
이 방법은 스크린샷을 많이 찍을 때 항상 매우 유용했습니다. 모든 Windows Technique 버튼을 누른 상태에서 개인용 키보드의 PrtSc 키를 누릅니다. 전체 화면 스크린샷은 사진 > 스크린샷 폴더에 첨부됩니다. 이 폴더에 액세스하는 한 가지 방법은 항상 어떤 폴더를 빠르게 찾는 것입니다: 스크린샷.