2012-05-08 4 views
7

저는 C# .NET에서 응용 프로그램을 실행할 때 (또는 특정 키 스트로크로 실행을 시작하도록 선택하는 경우) Windows 7 스니핑 도구의 기능을 모방하는 응용 프로그램을 만들려고합니다.), 사용자는 데스크탑의 직사각형 스냅 샷을 캡처하기 위해 어느 창에 포커스가 있더라도 화면에 직사각형을 그릴 수 있습니다.데스크탑에서 영역 사각형 선택

주어진 사각형을 사용하여 스냅 샷을 저장하기 위해 Graphics.CopyFromScreen() 메서드를 사용하는 방법을 이미 알고 있지만, 실제 사각형 선택 및 그 경계를 얻는 방법을 잘 모르겠다.

+0

데스크톱에서 사각형을 그리거나 오른쪽 좌표를 얻는 방법과 관련하여 여기에서 묻는 것이 전체적으로 명확하지 않으며 이와 같이 불분명 한 대답도 거의 사용되지 않습니다. 미래의 방문자들, 그래서 나는 그것을 닫았다. 당신이 요구 한 바를 정확히 이해한다면 어쩌면 대답이 더 명확해질 수 있고 질문은 다시 열리게됩니다. –

답변

7

코드 프로젝트의 TeboScreen: Basic C# Screen Capture Application은 정확하게이 작업을 수행합니다.

마우스 왼쪽 버튼을 누른 채로 사용자가 캡처 할 부분을 지정하는 사각형을 그립니다. ... mouse_Move 이벤트는 사용자가 선택 영역을 그리거나 드래그 (이동) 또는 크기 조정 중인지 여부를 결정하는 데 사용됩니다.

+0

정확히 내가 뭘 찾고 있었습니까, 고마워요! –

1

사용자는 실제로 화면에 사각형이 아니라 캡처 된 이미지에 사각형을 그립니다. 사용자가 당신의 도구를 호출 할 때 발생해야하는 이벤트의 순서는 다음과 같습니다

  1. 캡처 전체 데스크탑
  2. 경계선 창을 아마도이를 사용하여, 모든 화면에 걸쳐있는 화면의 크기 (또는 만들기 방법 here) 스크린 위치/치수에 매핑되는 개별 이미지를 각각의 스크린 샷으로 설정하십시오.
  3. 사용자가 here 코드를 사용하여 양식에서 고무줄을 선택할 수있게하십시오.
  4. 일단 사용자가 영역 선택을 마치면 사용자 선택만큼 큰 비트 맵을 생성하십시오.
  5. 는 사용자의 교차점은 4 단계
  6. 저장이 이미지에서 생성 된 이미지에 의해 그 지역 귀하의 이미지를
  7. 복사를 직사각형 찾을 수 있습니다.
  8. 기쁨을 위해 울다.
관련 문제