달력

10

« 2018/10 »

  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  

'스크린 샷'에 해당되는 글 1

  1. 2010.05.17 MFC-CImage( 스크린 샷 찍기 )
2010.05.17 02:39

MFC-CImage( 스크린 샷 찍기 ) 프로그래밍/MFC2010.05.17 02:39






화면에 있는 스크린 샷을 찍을땐 어떻게 해야 할까,

그것도 작업 영역에 대해서만,

책에 있는 예제를 조금 변경해서 원하는 결과를 만들었지만,

더 나은 방법이 있는지는 아직 잘 모르겠다.

게임을 하다보면 스크린 샷을 찍게 될 경우가 종종 있다.

그랬을 경우 풀스크린이라면 상관 없을지도 모르나,

창모드라면 윈도우 화면 전체가 아닌 현재 플레이 중인 게임 화면만 이미지로 저장 되어야 한다고 생각한다.

프로젝트에서 WM_PAINT를 추가 하여 아무 이미지나 화면에 띄워 보자.
(필자는 이전의 결과 사용)

그 후 원하는 메시지 탭을 하나 추가해 보자.

키보드 라던지, 마우스 라던지,

추가한 이후에 다음처럼 코드를 작성한다.

기본적인 구조 설명은 주석으로 달아 놓았고.
살작 자세히 보아야 할 부분은
Create() 함수화 Save(), ShellExecute부분 인것 같다고 생각한다.
Create는 x, y의 크기 만큼, 이미지를 생성한다.
3번째 인자는 어떤 속성인지 정하는 부분인데, 예제에서는 바탕화면과 동일한 색상수를 사용한다고 보면 된다.
다음으로 Save는 먼저 파일의 이름을 지정하고, 그 포멧 타입을 지정한다.
JPEG, BMP, GIF, PNG등이 같이 존재한다.
마지막으로 파일을 실행하는 ShellExecute인데,
1번째 인자로 부모 핸들( 예제에서는 NULL이기 때문에 바탕 화면이 되고 )
2번째 인자는 어떤 동작을 할 것인지에 대해 지정해 준다. open이기 때문에 실행을 의미한다.(또한 explore, edit, find, print등이 존재)
3번째로는 어떤 대상을 사용할 것이가에 대해서 이며(여기서는 open할 대상)
4번째는 3번째 인자가 실행 파일인 경우 실행 파일의 실행 인자를 명시,
5번째는 실행할 프로그램의 현재 폴더 경로 이 값이 NULL이면 윈도우 기본 설정을 적용한다고 한다.
마지막인자는 nShowCmd인데,
어떤식으로 보여 줄지에 대한 플래그 값정도로 예상된다.

// 실행 화면

// 스크린 샷을 찍은 후 저장된 파일,
Posted by 안식의후크