seraphyの日記

日記というよりは過去を振り返るときのための単なる備忘録

Mac OS X(Snow Leopard)でスクリーンショットをとる方法

最近、Mac OS X上で画面キャプチャをとりたいケースがあったので、思わずWindowsのキーボードのようにprintscreenキーを探してしまったが、私のMacのキーボードにはprintscreenなんてキーはない。
じゃあ、どうやって画面キャプチャをとればいいのだろう?
(とれない、なんてことはないよね?)
と思って探したら、よくまとめられていたページを見つけました。

404 Blog Not Found:tips - Mac OS Xのスクリーンショット
http://blog.livedoor.jp/dankogai/archives/50787032.html

キーボードからスクリーンショットをとる。

全画面コピー
  • cmd + shift + 3でデスクトップ上にファイルができる。(Snow Leopardの場合はpngになる様子。Tigerだとpdfとかtiffだったような。
  • cmd + shift + ctrl + 3クリップボードにコピーされる。
範囲選択コピー
  • cmd + shift + 4で範囲選択となり、囲んだ部分がデスクトップ上にファイルとして作成される。
  • cmd + shift + ctrl + 4クリップボードにコピーされる。
選択ウィンドウのコピー
  • cmd + shift + 4として範囲選択になったらSPCでウィンドウ選択になり、選択したウィンドウの画面キャプチャがデスクトップ上にファイルとして作成される。
  • cmd + shift + ctrl + 4として範囲選択になったらSPCでウィンドウ選択になり、その内容がクリップボードにコピーされる。

コマンドでコピー

ターミナルからスクリーンショットをとる。

Mac OS Xには、「screencapture」というコマンドがあるので、ターミナルからでも実行できる。
様々なオプションの詳しい説明はmanページで確認できる。

sleep 3 && screencapture -c

で3秒後のフルスクリーンキャプチャをクリップボードに送れる。
キーボードやマウス操作でキャプチャしたい画面の動作が変わってしまうようなケースに最適。

applescriptからスクリーンショットをとる。

AppleScriptには直接screencaptureを呼び出すようなコマンドはないけれど、外部コマンドとしてなら呼び出すのは簡単なので

set loc to choose folder with prompt "スクリーンショットの保存先"
set posix_loc to POSIX path of ((loc & "screenshot.jpg") as string)
delay 3 -- 3秒待つ
do shell script "screencapture -tjpg " & quoted form of posix_loc

こんな感じで使える。

「グラブ」というアプリケーションを使ってスリーンショットをとる。

Mac OS Xには、「グラブ」というアプリケーションがある。

  • 範囲選択
  • 選択画面
  • 全画面
  • タイマー

で取り込みを選べる。
取り込み結果はウィンドウに表示され、それをコピーするなりファイルに保存するなりできる。
タイマーはキーボードやマウス操作でキャプチャしたい画面の動作が変わってしまうようなケースに最適。

「プレビュー」を使ってスクリーンショットをとる。

プレビューのファイルメニューにも「スクリーンショットを撮る」ってメニューがある。

  • 範囲選択
  • 選択画面
  • 全画面

が選択できるね。
タイマーがない以外はグラブよりは使いやすいかも。

結論

調べる前はMacスクリーンショットWindowsよりも機能的に乏しいのではないかという杞憂も、調べてみたらWindowsよりも手厚いサポートにびっくりでした。