Linux でスクリーン・ショットを撮る時、ぼくは ImageMagick の import コマンドを使ってる。標準的な Linux デストリビューションなら、デフォールトで入ってるコマンドなので、ご存じの方も多いでせう。
使い方は、コマンド・ラインから
$ import foo.png
と打つ。すると、カーソルが十字型になるので、スクリーン・ショットを撮りたいウィンドウを (その十字カーソルで) クリックする。これで、foo.png という画像ファイルが出来るという流れ。import コマンドは、与えられた引数の拡張子を見て画像形式を決める。今回の例だと、拡張子は .png なので PNG 画像が出来る。蛇足ながら付け加えると、.gif なら GIF ファイルになるし、.jpg なら JPEG ファイルが出来る。
遅延取り込み
import コマンドでスクリーン・ショットを撮る手順を復習すると、次の通り。
- スクリーン・ショットとして取り込みたい画面を用意する。
- コマンドラインで import を実行する。
- ウィンドウをクリックする
1. から 2. で、スクリーン・ショットを撮りたいウィンドウからコマンドライン (ターミナル) にフォーカスが移る。ここに問題があって、フォーカスが移った時点でウィンドウ内が変化してしまうものがある。例えば、メニューのプルダウン・メニュー。プルダウン・メニューを下ろして他のウィンドウにフォーカスを移すと、プルダウンが解除されてしまう。スクリーン・ショットの目的が、プルダウン部分を撮ることにある場合、これは非常に困る。
この問題は、遅延取り込みで解決できる。
具体的には、次のコマンドを実行する。
$ sleep 10; import foo.png
sleep コマンドは、引数秒だけコマンドの実行を止める。つまり、この場合、10 秒後に import コマンドを実行されるというわけ。
この 10 秒の間に、プルダウン・メニューを下ろす。10 経つと、import コマンドが実行されてカーソルが十字型に変わるので、それを待ってウィンドウをクリックしてスクリーン・ショットを撮る。
あとがき
スクリーン・ショットの遅延取り込みは、前の記事で Google Reader の subscription selector ポップアップのスクリーン・ショットを撮るのに使った。遅延取り込みに sleep コマンドを使う方法は、下記の記事で知った。
目新しいテクニックでもないと思うけど、自分一人では思いつかなかったので、メモ記事にしとく。
No comments:
Post a Comment