ラベル 画像ビューア の投稿を表示しています。 すべての投稿を表示
ラベル 画像ビューア の投稿を表示しています。 すべての投稿を表示

☆コマンドラインで保存ファイル名が指定できるスクリーンショト取得ツール scrot

スクリーンショットを取得する場合は大抵、"hoge-01.png" のように "何か意味のある名前" + "ユニークにするための連番" + ".拡張子" つけることが多く、都度ファイル名を入力するのが面倒です。
Ubuntu標準のgnome-screenshotやxfceのxfce4-screenshooterはコマンドラインでファイル名を入力することができませんし、連番をつけてくれるような機能もありません。

例によってまずは、apt-cache search 'screenshot' で候補を探します。KDEやqtベースのものを除外していくと shutter くらいしか残りませんでした。
shutterのWebサイトを見て http://shutter-project.org/faq-help/man-page/ みると残念ながらコマンドラインでファイル名の指定はなさそうです。
とりあえず試そうと apt-get install shutter すると30個ほどパッケージが導入されるので中止しました。

ここで、そういえばSLiMを導入したときにscrotを入れていたことを思い出しました。
少なくともコマンドラインで保存ファイル名が指定できることは判っています。
ということは少なくとも簡単なスクリプトを書けば連番でスクリーンショット取れることは確実です。しかも超軽量。

もっと便利な方法があるかもしれないので、man scrot。
調べてみると日時をファイル名に含ませるような指摘が可能なので連番の代わりにこちらを使うことにしました。
日時はdateコマンドの書式指定と同じでstrftimeで解釈されると書いてあります。
選択した範囲やウィンドウのキャプチャもできるようです。
取得した画像を確認したいので Eye Of Gnome を組み合わせて使うことにします。
(mirageを使いたかったのですが、EoGのようにディレクトリ内にファイルが増えたことを認識しないのであきらめました。)

●取得作業の例

まずは取得したスクリーンショットを保存するディレクトリを用意しておきます。
ここではとりあえず "~/png/" とします。
eogは画像の入っていないディレクトリを指定して起動すると、後から画像ファイルができても見てくれません。(gthumはOKだったりしますが)
そこで一回目のキャプチャを行ったときにscrotから起動します。( -e オプションを使用)
初回キャプチャ時のコマンドラインは以下のようにします。(保存ディレクトリに移動してから)
3秒後に[選択範囲またはアクティブウィンドウ]をキャプチャする指定です。
ついに "-t 25" で25%の大きさのサムネイルを作っています。
"Taking shot in"の後ろは一秒ごとに3,2,1とカウントダウンされていきます。(-d オプション)
-s をつけていると起動した端末がフォーカスを失ってからカウントダウンを始めるようです。

$ scrot -b -c -d 3 -s -t 25 '%j-%T.png' -e 'eog $f'
Taking shot in 3.. 2.. 1.. 0.
2度目からは" -e 'eog $f'" を省いて起動します。
$ scrot -b -c -d 3 -s -t 25 '%j-%T.png'
Taking shot in 3.. 2.. 1.. 0.
これでスクリーンショットを取るたびにEoGのサムネイルの箇所に表示されるファイルが増えていきます。

取得したキャプチャのサンプル
(この表示ではわかりませんが、ちゃんとサムネイルは25%サイズになってます。)
Eye Of Gnome の状態

参考までに出来上がったファイル(サムネイルは取得時指定したファイル名の ".png" を "-thumb.png" に置き換えた名称になってます。)

~/png$ file *
037-23:23:52-thumb.png: PNG image, 239 x 222, 8-bit/color RGB, non-interlaced
037-23:23:52.png:       PNG image, 957 x 890, 8-bit/color RGB, non-interlaced
037-23:24:50-thumb.png: PNG image, 239 x 222, 8-bit/color RGB, non-interlaced
037-23:24:50.png:       PNG image, 957 x 890, 8-bit/color RGB, non-interlaced
037-23:25:06-thumb.png: PNG image, 242 x 248, 8-bit/color RGB, non-interlaced
037-23:25:06.png:       PNG image, 968 x 994, 8-bit/color RGB, non-interlaced

☆EoGやgThumbではなくMirageを使う理由

今回はUbuntuで使う画像ビューアについて。
私が使っているのは Mirage http://mirageiv.berlios.de/ です。

Mirageの日本語訳は蜃気楼ですが、私はなぜかフランスの戦闘機でそんな名前のものがあったことを思い出しました。

Mirageのスクリーンショット


こちらは Eye of Gnome(EoG) http://projects.gnome.org/eog/


そして gThumb http://live.gnome.org/gthumb


Mirageを使用するようになったキッカケはMoblinですが、 EoGやgThumbより以下の点で優れていると思います。

●サムネイルがサイドに出る。(これが私にとって最大のポイント)

画面は4:3にしろ16:9にしろ横長であることに変わりがありません。
サムネイルが横に出ていた方が画像を大きく表示することが出来ます。

gThumbはサムネイル表示をする"browser window"と大きく表示する"viewer window"が完全に別です。

●画像をスペースキーやツールバーの矢印で進めて行っても先頭へWrapしない

EoGは画像を進めていくと先頭にもどってしまいます。これを制御する設定は無いようです。
(特に下部にサムネイルを表示していない状態で同じようなファイルがたくさんあるディレクトリを閲覧していると迷子になってしまいます。)

gThumbは最後の画像で止まります。これを制御する設定は無いようです。

Mirageは設定に"Wrap around imagelist"という項目があって、"No","Yes","Prompt"が選べます。

●[ファイルを開く]と[ディレクトリを開く]がはっきり分かれている

EoGは単一ファイルを選択して開いても同一ディレクトリに存在する画像ファイルがすべてサムネイル部分に表示されます。(なぜか2つ以上のファイルを指定した場合は、素のファイルだけがサムネイル部分に表示される。コマンドライン指定でも同様。)

gThumbはGUIの場合、[ディレクトリを開く] しかできないようです。コマンドラインではEoGと同じような動作をします。ただし --viewer と 単一ファイルを指定すると一つのファイルを開けます。

MirageはGUIではメニューに [ファイルを開く]と[ディレクトリを開く]が別々にありますし、コマンドラインでも単一ファイルを指定、複数ファイル指定、ディレクトリ指定ともに指定したとおりの動作をします。

その他Mirageには下記のような機能があります。
○スクリーンショットの取得
○画像編集(回転、反転、クロップ、リサイズなど)
○カスタムアクションの設定(Gimpで編集など)

改良を望みたい箇所が2点ほどあります。
○ヤシの木見たいなアイコンはちょっといただけないです。画像関連のソフトだと分かるようなアイコンに変えて欲しい。
○ターミナルから起動した場合、結構Warningが端末に出力される。どうもGTKまわりで古いAPIを使っているようです。
/usr/lib/python2.6/dist-packages/mirage.py:1934: DeprecationWarning: Use the new widget gtk.Tooltip
  gtk.Tooltips().set_tip(addbutton, _("Add action"))
/usr/lib/python2.6/dist-packages/mirage.py:1938: DeprecationWarning: Use the new widget gtk.Tooltip
  gtk.Tooltips().set_tip(editbutton, _("Edit selected action."))

ターミナルから起動する頻度が結構高いので、.bashrcに
function miragef() {
    mirage $*  2>&1 |grep -v 'DeprecationWarning:'
}
と言う記述を追加して miragef で起動してます。