Mac:屏幕截图选择实现? (选择部分屏幕的能力)

时间:2014-03-05 18:05:08

标签: ios objective-c macos cocoa screenshot

我正在尝试实现Macs Selection屏幕截图,我可以通过拖动光标选择部分屏幕,并获得生成的坐标(CGRect)。

这样的事情:

Something like this

我一直在看AVScreenShack听起来应该这样做:https://developer.apple.com/library/mac/samplecode/AVScreenShack/Introduction/Intro.html

但它似乎对我不起作用。我最终得到的东西看起来像:

THis

当我尝试设置坐标时,它没有做任何事情。

我认为这是相关的代码,我相信:

- (IBAction)setDisplayAndCropRect:(id)sender
{  
for (NSScreen* screen in [NSScreen screens]) 
  {
      NSLog(@"SCREEN %@", screen);
    NSRect frame = [screen frame];
    NSWindow * window = [[NSWindow alloc] initWithContentRect:frame styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO];
    [window setBackgroundColor:[NSColor blackColor]];
    [window setAlphaValue:.5];
    [window setLevel:kShadyWindowLevel];
    [window setReleasedWhenClosed:YES];
    DrawMouseBoxView* drawMouseBoxView = [[DrawMouseBoxView alloc] initWithFrame:frame];
    drawMouseBoxView.delegate = self;
    [window setContentView:drawMouseBoxView];
    [window makeKeyAndOrderFront:self];
}

[[NSCursor crosshairCursor] push];
}

所以也许它正在做我想做的事情(能够选择当前视图上的区域)。

有人做过这样的事吗?我在想那里有类似的东西。

由于

1 个答案:

答案 0 :(得分:0)

我认为这会对你有帮助。

ScreenSnapshot示例代码,说明如何执行此操作。检查