크롬 창의 윈도우 핸들을 hwnd라고 하면,
HDC hDC=getDC(hwnd); 는 언제나 검은색 화면을 리턴하네요. (getDC는 Windows.h 의 함수.)
(hDC의 각 좌표의 RGB 값을 구해보면 (0, 0, 0) 나와요.)
그렇다고 하드웨어 가속 옵션을 끄면, 심하게 느려져셔 전혀 할만한 옵션이 아니에요. (그렇다고 순간적으로 하드웨어 가속 설정을 껐다 켤 수 있는 것도 아니고, 이 설정을 변경하려면 크롬 창 자체를 재시작해야 돼요.)
그리고 getDC(NULL)을 하면, 전체 화면 스크린샷이지, 크롬 창만을 캡쳐해 주지 않아요.
다른 대부분의 윈도우들(GPU를 사용하지 않는 윈도우)은 getDC(핸들)로 잘 되는데, 하드웨어 가속을 사용하는 부분만 검은색으로 표현되네요.
getDC 말고 다른 방법을 사용해야 하는 건가요, 아니면 getDC 외에 추가로 필요한 작업이 있는 건가요?
하드웨어 가속이라고 해서 무조건 getdc가 불가능한건 아님
그러면 크롬창은 어떻게 DC를 얻어와야 하나요?
그런건 창에서 dc 가져오지 말고 그냥 화면에서 가져오세요
GetDC(NULL)을 하면, 겹쳐져 있는 부분(다른 윈도우 창에 가려져 있거나 마우스 커서에 가려져 있는 부분)이 안 보이더라고요.
해당 댓글은 삭제되었습니다.
무슨 의미인가요?
DC를 Device Context가 아니라 DCinside의 약자로 본 거였군요.