SonOfGrab Example 코드를 사용하여 보이는 NSWindow
을 캡처 할 수 있습니다 SonOfGrab Example숨겨진 NSWindow 캡처
그러나 어떻게 숨겨진 NSWindow
을 캡처 할 수 있습니까? 또는 NSWindow
를 사용자로부터 숨기고 Windowserver에 여전히 나타나는 방법은 무엇입니까?
미리 감사드립니다!
SonOfGrab Example 코드를 사용하여 보이는 NSWindow
을 캡처 할 수 있습니다 SonOfGrab Example숨겨진 NSWindow 캡처
그러나 어떻게 숨겨진 NSWindow
을 캡처 할 수 있습니까? 또는 NSWindow
를 사용자로부터 숨기고 Windowserver에 여전히 나타나는 방법은 무엇입니까?
미리 감사드립니다!
화면에 표시되지 않는 NSWindow의 내용을 캡처 할 수 없습니다. 창을 최소화하거나 숨긴 경우 시각적 표현은 메모리를 절약하기 위해 삭제됩니다.
(이것은 관리 방법을 정확하게, 당신은 윈도우 시스템의 깊은 지식을 가지고있는 경우 차임 주시기에 확실하지. 난 단지 CamTwist와 BoinxTV와 창을 캡처하는 노력, 경험이 알고있다.)
당신은 그것을 할 수 있습니다 NSWindow 표시에
NSImage *img = [[NSImage alloc] initWithCGImage:[window windowImageShot] size:window.frame.size];
카테고리 :
- (CGImageRef)windowImageShot
{
CGWindowID windowID = (CGWindowID)[self windowNumber];
CGWindowImageOption imageOptions = kCGWindowImageBoundsIgnoreFraming | kCGWindowImageNominalResolution;
CGWindowListOption singleWindowListOptions = kCGWindowListOptionIncludingWindow;
CGRect imageBounds = CGRectNull;
CGImageRef windowImage = CGWindowListCreateImage(imageBounds, singleWindowListOptions, windowID, imageOptions);
return windowImage;
}
+1을,이 악한입니다. kCGWindowListOptionIncludingWindow를 사용하면 앞에없는 경우에도 windowID의 스크린 샷을 캡처 할 수 있습니다. 공유 해줘서 고마워! – Tiago