如何在 OS X 中重复截取特定区域的屏幕截图?

lox*_*lox 9 screenshot macos

在 OS X 下,我需要对同一特定屏幕区域进行截图。我知道我可以按热键来抓取整个屏幕或屏幕的一个区域,但是我总是必须选择它。

我可以将 OS X 配置为始终创建屏幕同一部分的屏幕截图吗?

slh*_*hck 16

您可以使用screencapture命令行实用程序。它包括(除其他外)以下选项:

-x         do not play sounds
-R<x,y,w,h> capture screen rect
files   where to save the screen capture, 1 file per screen
Run Code Online (Sandbox Code Playgroud)

因此,在您的情况下,要抓取左上角为 20/20 的屏幕截图,创建一个 640x380 的窗口:

screencapture -x -R20,20,640,380 ~/Desktop/test.png
Run Code Online (Sandbox Code Playgroud)

您可以将此命令放入您的命令中crontab以使其重复执行,或者简单地使用在终端窗口中运行的循环。在这种情况下,我们将每秒创建一个屏幕截图 ( sleep 1),并相应地命名输出文件screen_YYMMDDTHHMMSS

-x         do not play sounds
-R<x,y,w,h> capture screen rect
files   where to save the screen capture, 1 file per screen
Run Code Online (Sandbox Code Playgroud)

您还可以创建一个 Automator 操作或 AppleScript 来运行上述 shell 脚本。例如,打开Script Editor,然后粘贴:

do shell script "date=$(date '+%Y%m%dT%H%M%S'); screencapture -x -R20,20,640,380 ~/Desktop/screen_${date}.png"
Run Code Online (Sandbox Code Playgroud)

它应该是这样的:

保存该脚本并使用FastScripts轻松分配键盘快捷键。


小智 7

如果您愿意使用应用程序/实用程序,我强烈推荐 Skitch:

https://evernote.com/skitch/

它有一个“上一个快照区域”的快捷方式。

(此外,您可以使用计时器捕获选择、捕获整个屏幕、一个窗口或一个菜单。)

它是免费的,并具有大量功能,包括编辑/注释、快速轻松的共享等。


小智 6

不确定这是否在较新的 macOS 版本中引入,但现在只需使用cmd + shift + 5,选择所需区域并从下面的工具栏中选择“捕获选定部分”即可。选择区域一次后,在接下来的屏幕捕获调用中它保持完全相同。