Macでコマンドライン(ターミナル上)からスクリーンキャプチャ…ピクセル単位で領域も指定できる

[投稿日] 2016年12月26日
[最終更新] 2017年2月21日

Macでは通常、Cmd+Shift+3 or 4で、スクリーンキャプチャを撮ることができます。3が全画面で、4が領域指定です。とても便利な機能です。

コマンドラインで使うこともできます。これにより、ピクセル単位で領域を指定したり、スクリプトに組み込んで利用したりすることができます。

スポンサーリンク

使い所

わざわざショートカットキーを使わず、コマンドラインを使ってスクリーンキャプチャを撮影する利点は、大別して2つあると思います。一つは、ピクセル単位で正確な位置でスクリーンキャプチャを撮影できること。もう一つは、スクリプトに組み込めること。

つまり、画面上の情報を画像として保存し、それを利用することができます。これを使うと、たとえば、画面上の一部領域を一定時間ごとに毎度スクリーンキャプチャし、cmpコマンドで前回画面と比べれば、画面上の変化を簡易的に検出できます。

使い方

screencaptureコマンドは、多分Command Line Toolsに同梱されていると思います。manでもマニュアルが見られますが、古いようで、領域指定の大事なオプションが記述されていません。-hオプションのほうが簡潔かつ詳しいです。

基本

まず、基本の使い方は以下です。

$ screencapture test.png

これにより、全画面のスクリーンキャプチャがtest.pngに出力されます。わざわざコマンドラインから使う以上、あまりないと思いますが、-iオプションをつけることで、通常のインタラクティブなスクリーンキャプチャが使えます。

よく使うオプション

基本的に-hで見るのがよいと思いますが、私がよく使うオプションはあまりないので、それだけまとめます。

  • -C…マウスカーソルをキャプチャ画面に含める
  • -t<format>…jpgなど画像フォーマットを指定できる。デフォルトはpng
  • -R<x,y,w,h>…領域を指定する

特によく使うのは-Rの領域指定です。覚え方はRectangle。他にも時間差をつけたり、キャプチャ音を鳴らさなかったりなど、色々なオプションがあります。

用例:領域指定してjpg保存する

以上の用例として、領域を指定したうえで、jpg保存する例を書きます。MacBook Air 2013、OSX 10.11 El Capitanにて、メニューバー左上のリンゴマークでも撮ってみます。

$ screencapture -R 17,0,20,20 -t jpg test.jpg

-Rのところは、座標(17,0)から幅20px、高さ20pxの意味です。

test左図のようなものが撮影できました。

こんな感じです。

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。