Stream Deckでワンボタン画像保存/表示

ツール活用

どうも、吉田平八郎です。
今回の動画は特に後書きするようなネタがないので、Stream Deckを使った、ちょっとしたノウハウを紹介することにしました。

Elgato社「Stream Deck」はパソコンの周辺機器で、液晶ボタンにショートカットやマクロを設定して、ボタン一つでその動作を呼び出すことができる便利ツールです。
概要についてはIT系メディアの記事を見てもらったほうが早いでしょう。

仕事で使うショートカットもボタンひとつで起動!
「Stream Deck」の7つの便利な活用法
https://wired.jp/article/elgato-stream-deck-productivity-tips/

Wired Japan

このブログでは、もう少し具体的な使用例を紹介して、便利なStream Deckの利用者が増えるといいなと思ってます。

「ワンボタンで画像保存/表示」の設定

今回紹介するのは、ワンボタンで「画像を保存」「画像を別ウィンドウで表示」する設定です。
対象とするのは「アクティブのウィンドウ」「クリップボードに入ってる画像」となります。

上の画面はStream Deckの設定画面です。
アイコンが並んでいる辺りが端末のボタンに対応していて、今回は赤枠に囲まれた4つのボタンを解説します。それぞれ以下の動作を割り当てています。

  • クリップボードに入っている画像を、所定のディレクトリに保存する
  • クリップボードに入っている画像を、別画面で表示する
  • 現在アクティブになっているウィンドウをコピーして、所定のディレクトリに保存する
  • 現在アクティブになっているウィンドウをコピーして、別画面で表示する

どのような状況を想定しているかというと「ゲームをしていて、今の画面を参考のため別画面で表示しておきたい」「ウェブを眺めていて、このページのこの部分だけを画像保存しておきたい」といったような状況です。
似た機能はあっても、ゲームやアプリを問わず同じように画像保存/表示するのに向いています。

Stream Deckの使用例

Noita というローグライクアクションゲーム

では実際の使用例をご覧いただきましょう。
例えば、Noitaというゲームを遊んでいて、3番目の杖の中身をゲーム中にあとで参照したい場合、「アクティブウィンドウを別画面で表示」ボタンを押すと、

画像ビューワーが起動して、その画面を別ウィンドウで表示してくれます。
これを横において、ゲームの続きをするとか。

あるいはウェブを眺めていて、画面の一部を別ウィンドウで置いておきたい場合に、[Windows]+[Shift]+[S] キーを押して画面の一部をクリッピング(切り抜き)し、

「クリップボード画像を別画面で表示」ボタンを押して、画像ビューワーで別に表示させておくとか。
あるいは「クリップボード画像を保存する」ボタンを押して、そのクリップした画像を保存するなど。

所定のディレクトリに保存日時のファイル名で画像保存されている

ワンボタンでサクサク処理されるため、ゲームなりウェブ閲覧に集中することができます。

使用するプラグイン/アプリ

今回の設定をなるべく簡便に再現するため、Stream Deckのプラグイン「Advanced Launcher」と、画像閲覧・管理アプリ「IrfanView」を利用しています。

Advanced Launcher

Stream Deck用プラグイン。Stream Deckストア(設定画面上部のキーボードに+マークのアイコン)から無料でインストールできます。
Advanced Launcher は「引数(Arguments)を伴ってアプリを起動」できるようになります。

IrfanView

IrfanViewは画像ビューワー。画像を閲覧、サムネイル表示、スライドショー、サイズ変更等の編集、音声ファイルの再生もできる万能アプリでありながら、とにかく起動も動作も軽いのがウリです。
Windows 95の時代から存在する古参アプリ(ソフト)ながら、十分現役で活躍します。

また、IrfanViewはコマンドラインのオプションが豊富に用意されており、ショートカットやコマンドラインで引数を設定することで、簡単に特殊な動作を実行できます。

窓の杜 IrfanView
https://forest.watch.impress.co.jp/library/software/irfanview/

IrfanViewの豊富なコマンドラインオプション

実際に設定してみよう

今回紹介しているのは「アクティブなウィンドウ」あるいは「クリップボードの画像」を、「別画面で表示」あるいは「所定ディレクトリに保存」で2x2=4種類の組み合わせになってます。

「アクティブなウィンドウを、別画面で表示」する場合は次のような設定になります。

  1. Advanced Launcher を配置する。
  2. Application の「Choose file…」から IrfanView のexeファイルを選ぶ。
  3. Arguments を「/caputure=3 /pos=(0,0)」とする。

これでボタンを押すと、Advanced launcher を介して IrfanView を「/caputure=3 /pos=(0,0)」の引数を伴って起動することになります。

「/caputure=3」は「アクティブなウィンドウの内側(作業エリア)を画像キャプチャする」、
「/pos=(0,0)」は「デスクトップの横0ピクセル、縦0ピクセルの位置で IrfanView を起動し、画像を表示する」という意味です。

「クリップボードの画像を、所定のディレクトリに保存」の場合は次のような設定になります。

  1. Advanced Launcher を配置する。
  2. Application の「Choose file…」から IrfanView のexeファイルを選ぶ。
  3. Arguments を「/clippaste /convert=”C:\Users\ユーザ名\Pictures\$U.png”」とする。

「/clippaste」は「クリップボードに入っている画像を貼り付ける」、
「/convert」は「画像を所定のディレクトリに保存する」という意味です。

convertにはさらに引数パスで「=”C:\Users\ユーザ名\Pictures\$U.png”」がついてます。
ユーザ名はご自分の名前に変えていただくと、「ピクチャ」ディレクトリにボタンを押した日時($U)がファイル名のPNG形式の画像が保存されます。

残り2種類。
「アクティブなウィンドウを、所定のディレクトリに保存」の場合は、3番目のArgumentsを「/caputure=3 /convert=”C:\Users\ユーザ名\Pictures\$U.png”」

「クリップボードの画像を、別画面で表示」の場合は、3番目のArgumentsを「/clippaste /pos=(0,0)」と、該当部分を差し替えれば良いだけです。
分かれば簡単ですね。

ちなみにボタンのアイコンは自作したものです。
Stream Deckデフォルトのまま使ってもいいし、公式サイトでアイコン作成機能もあるので、自分なりに作ってみるのも一興でしょう。

さて、初めての解説の割に冗長な記事となってしまい申し訳ないです。
私は主に動画編集でStream Deckを活用しており、もはやStream Deckが無ければ作業が面倒くさくて動画が作れない!というほど活用しております。
これ以外にも紹介したい使用例もあるので、暇を見て記事を作成したいです。

あなたのStream Deckライフが少しでも豊かになれば幸いです。
それでは、またお会いしましょう。