有谁知道如何在mac os中使用objective c捕获屏幕?更具体地说,如何捕获活动/聚焦的应用程序屏幕,然后将图像创建到指定路径中。
非常感谢任何帮助。
问问题
7011 次
3 回答
10
@Daniel,您无需了解和实施整个“抢夺之子”。你只需要下面的代码。
以下功能将为您提供屏幕截图
// This just invokes the API as you would if you wanted to grab a screen shot. The equivalent using the UI would be to
// enable all windows, turn off "Fit Image Tightly", and then select all windows in the list.
CGImageRef screenShot = CGWindowListCreateImage(CGRectInfinite, kCGWindowListOptionOnScreenOnly, kCGNullWindowID, kCGWindowImageDefault);
使用以下代码将其转换为 NSImage
NSBitmapImageRep *bitmapRep = [[NSBitmapImageRep alloc] initWithCGImage:screenShot];
// Create an NSImage and add the bitmap rep to it...
NSImage *image = [[NSImage alloc] init];
[image addRepresentation:bitmapRep];
[bitmapRep release];
bitmapRep = nil;
于 2011-09-23T10:25:22.067 回答
4
于 2009-11-06T14:30:25.793 回答
1
您还可以查看 Apple 的 OpenGLScreenSnapshot
于 2010-09-03T06:11:24.127 回答