【问题标题】:Mac: Screen shot selection implementation? (ability to select part of screen)Mac:屏幕截图选择实现? (能够选择屏幕的一部分)
【发布时间】:2014-03-05 18:05:08
【问题描述】:

我正在尝试实现类似 Macs Selection 屏幕截图的功能,我可以通过拖动光标来选择屏幕的一部分,并获取结果坐标 (CGRect)。

所以是这样的:

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

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

当我尝试设置坐标时,它什么也没做。

我看到这是相关代码,我相信:

- (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];
}

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

有人做过这样的事吗?我在想一定有一些东西在做类似的事情。

谢谢

【问题讨论】:

  • 您的问题已经解决了吗,或者您还在寻找解决方案?
  • @ThomasJohannesmeyer 是的,它已经解决了。这是这个项目的一部分:github.com/Jonovono/Cutter。 (它实际上是为了让您可以拍摄所选屏幕的视频,而不是屏幕截图。)
  • 您的解决方案是否适用于 2 台以上的显示器?因为即使是 Apple 样本也没有。
  • 我没有尝试过超过 1 台显示器!我会试一试。
  • 我用 3 试过了,没用。 ;-)

标签: ios objective-c macos cocoa screenshot


【解决方案1】:

我认为这会对你有所帮助。

ScreenSnapshot 示例代码展示了如何执行此操作。检查一下

【讨论】:

  • 这似乎只拍摄全屏快照。我会再研究一下,但我之前找到了这个,我看不到它让我定义屏幕区域的位置。
猜你喜欢
  • 2015-03-14
  • 1970-01-01
  • 2010-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多