2009-04-21 3 views
0

Mac OS X에서 cmd + shift + 4를 누르면 부식 가능한 좌표가 표시된 영역을 화면에서 선택할 수 있습니다. 내 응용 프로그램 중 하나에서 그러한 함수를 구현해야하고 어떻게해야하는지 전혀 모른다. 아무도 저에게 조언을 해줄 수 있습니까?Mac OS X 데스크탑에서 영역 선택

Thx.

+0

네이티브 카본/코코아 API를 찾고 계십니까? – dirkgently

+0

그 기능을 구현하는 방법을 찾고 있는데 ... 아마도 투명하고 사용자 상호 작용에 응답 할 수있는보기를 삽입하는 창이 될 것입니다. 아니면 더 나은 해결책이 있습니까? –

답변

1

일반적으로 전체 바탕 화면 공간을 덮는 반투명 오버레이 창이 있습니다.

Apple의 경우 older sample code이있어 시작해야합니다.

+0

그것이 내가 지금 해낸 방법입니다. :) –

2

이 코드 조각은 주어진 사각형에 대해 바탕 화면에 표시된 모든 것을 포함하는 CGImageRef를 반환합니다. ApplicationServices 프레임 워크가 필요합니다. 화면 좌표가 뒤집 혔고 원점은 화면의 왼쪽 상단 모서리에 있습니다. 이 경우 이미지 참조자가 호출자의 소유가되며 호출자가 호출을 완료하면 CGImageRelease으로 해제해야합니다.

#import <ApplicationServices/ApplicationServices.h> 

CGImageRef createScreenCapture(CGRect rect) { 
    CGImageRef image = CGWindowCreateImage(
         rect, 
         kCGWindowListOptionOnScreenOnly, 
         0, 
         kCGWindowImageDefault); 
    return image; 
} 
+0

10.5-only, 주목할만한 가치가 있습니다. – Chuck

+0

@ Chuck : 고마워, 말할 가치가있어! –