그래픽 응용 프로그램의 스크린 샷을 프로그래밍 방식으로 가져 오는 방법은 무엇입니까? 응용 프로그램은 DRM/KMS를 통해 EGL API를 사용하여 창을 그립니다.EGL DRM/KMS 응용 프로그램의 스크린 샷을 가져옵니다
저는 Ubuntu Server 16.04.3을 사용하고 EGLFS QPA 백엔드와 함께 Qt 5.9.2를 사용하여 작성된 그래픽 응용 프로그램을 사용합니다. 첫 번째 가상 터미널 (문제가있는 경우)에서 시작한 다음 디스플레이를 풀 HD 그래픽 모드로 출력하도록 전환합니다.
는 I 샷으로 저장되고, 제 /dev/fb?
에서 작동 된 가상의 단말기 (Ctrl + Alt + F1)의 내용 만 텍스트 모드 (예컨대 fb2png
) 유틸리티를 사용하는 경우.
다른 프로세스의 컨텍스트에서 임의의 버퍼의 내용을 가져 오는 EGL API가 있습니다 (안전하지 않을 수 있음).하지만 GPU의 최종 출력에 액세스 할 수있는 메커니즘 (및 라이브러리)이 있습니까?
응용 프로그램을 시작할 때 EGL 호출을 전달하고 'LD_PRELOAD'로로드하는 심 라이브러리를 만들 수 있습니다. – Velkan
@Velkan 재미있는 아이디어, 감사합니다. 그래픽 응용 프로그램의 프로세스가 응답하지 않더라도 화면을 볼 필요가 있습니다. – Orient