Mac:屏幕截图选择实现? (能够选择屏幕的一部分)
Posted
技术标签:
【中文标题】Mac:屏幕截图选择实现? (能够选择屏幕的一部分)【英文标题】:Mac: Screen shot selection implementation? (ability to select part of screen) 【发布时间】: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 试过了,没用。 ;-) 【参考方案1】:我认为这会对你有所帮助。
ScreenSnapshot 示例代码展示了如何执行此操作。检查一下
【讨论】:
这似乎只拍摄全屏快照。我会再研究一下,但我之前找到了这个,我看不到它让我定义屏幕区域的位置。以上是关于Mac:屏幕截图选择实现? (能够选择屏幕的一部分)的主要内容,如果未能解决你的问题,请参考以下文章