如何从屏幕内容创建NSImage实例

时间:2011-07-29 07:15:37

标签: objective-c cocoa nsimage

我正在尝试从屏幕捕获图像。可能使用像NSRect这样的输入参数来指定我想要的屏幕部分。先感谢您。

1 个答案:

答案 0 :(得分:1)

您应该创建一个顶视图(NSScreenSaverWindowLevel或更高版本)并保存其位图数据。这是一个示例代码(未经测试):

[topView lockFocus];
NSImage *screenRectShot = [[NSImage alloc] initWithSize:NSMakeSize( screenRect.size.width, screenRect.size.height )];
NSBitmapImageRep *rep = [[NSBitmapImageRep alloc] initWithFocusedViewRect:yourRect];
[screenRectShot addRepresentation:rep];
[rep release];
[topView unlockFocus];