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

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

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

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

答案1

您可以使用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

因此,就您而言,要抓取左上角为 20/20 的屏幕截图,创建一个 640x380 的窗口:

screencapture -x -R20,20,640,380 ~/Desktop/test.png

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

while [ 1 ]; do 
  date=$(date "+%Y%m%dT%H%M%S")
  screencapture -x -R20,20,640,380 ~/Desktop/"screen_${date}.png"
  sleep 1
done

您还可以创建 Automator 操作或 AppleScript 来运行上述 Shell 脚本。例如,打开脚本编辑器,然后粘贴此内容:

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

它看起来应该是这样的:

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

答案2

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

https://evernote.com/skitch/

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

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

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

答案3

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

答案4

摘自我自己的回答询问不同
您现在可以本地执行此操作,Apple 添加到以前的捕获命令中 Cmd ⌘ Shift ⇧ 3 Cmd ⌘ Shift ⇧ 4 通过添加 Cmd ⌘ Shift ⇧ 5 [此功能已在 Mojave 中添加。]

这将在屏幕上直接显示屏幕截图过程的所有首选项。如果您选择特定区域,则每次触发时它都会返回到同一区域 [& 在选项按钮中选择首选项],直到您更改它。您可以使用“捕获”按钮或 Return/Enter 键进行截图。否则它会等待您。您还可以添加计时器、更改位置等,这些操作以前必须从终端访问。

在此处输入图片描述

我调整了此截图中的窗口位置,以便您可以在同一张照片中看到两者。
顺便说一句,您可以使用 Cmd/Shift/3 截取屏幕截图机制

相关内容