我正在尝试制作一个屏幕录制应用程序,它可以捕获单个应用程序窗口而不是整个屏幕。首先,我正在尝试使用Xcode在我的Mac上对单个应用程序进行简单的截图。
到目前为止,我正在尝试利用
您可以使用以下代码仅截取应用程序的屏幕截图,不包括阴影等。
到目前为止,我正在尝试利用
CGWindowListCreateImage
,但我遇到了问题。
编辑
这里有一个小例子,说明我如何获取WindowID。之后,使用它来截图非常简单。
首先,您需要添加一个全局事件监视器,更具体地说是NSMouseEvents。我使用鼠标按下。窗口信息存储在鼠标事件中。 CGWindowID windowID = (CGWindowID)[event windowNumber];
您可以使用以下代码仅截取应用程序的屏幕截图,不包括阴影等。
CGImageRef image = CGWindowListCreateImage(CGRectNull, kCGWindowListOptionIncludingWindow, self.WindowID, kCGWindowImageBoundsIgnoreFraming);
如果您需要更多信息,请告诉我。