スクショを極めるブログ

たかがスクショ、されどスクショ。スクショを極めることで生産性をぶち上げていきます!

座標を指定していつも同じ場所を同じサイズでキャプチャーをとる方法。ScreenPressoをコマンドラインから実行する

今回は玄人好みの機能です。
Screenpressoをコマンドラインから起動し、スクリーンキャプチャーする方法を紹介します。

機能の紹介

ScreenPressoの基本的な使い方は、マウスでキャプチャーエリアを決めてスクリーンキャプチャーを取る方法です。これはこれで便利です。

Screenpressoには、画面の座標を指定して、正確に画面キャプチャーを取得を実行する方法もあります。

この機能の特徴としては

  • キャプチャーを取るときにScreenpressoの画面を開きません
  • キャプチャーを取るときにマウスで範囲指定もしません
  • Screenpressoの管理フォルダ以外の場所にスクリーンショットを置くことができます

1クリックで、いつも同じ範囲のスクショを取ることができます。

ディスプレイのいつも同じ場面を正確にスクショしたいとか、動画を一部をパラパラ漫画のように静止画化したいときとかに使えます。

準備(Screenpressoの場所を調べる)

Screenpressoのインストールフォルダを把握する必要があります。

Screenpresso.exeの保存先を開く

まずは、Screenpressoの実行ファイルの置き場所まで行きます。

たいていはこのフォルダに置いてあると思います。
C:\Users\ユーザ名\AppData\Local\Learnpulse\Screenpresso

ファイルの場所が分からない場合

Windowsのスタートボタンで、Screenpressoを探します。

アイコンを右クリックすると、フォルダを開くを開きます

エクスプローラが開くので、Screenpressoのショートカットアイコンを右クリックしてもう一度「ファイルの場所を開く」を行うと到着できます。

コマンドプロンプトで実行する手順

ヘルプを見て学習

まずはヘルプを叩いて、やり方を調べましょう。

Rでコマンドプロンプトを開きます。 その後、Screenpressoがインストールされているディレクトリに移動します。

cd C:\Users\user.DESKTOP-1BBUQNR\AppData\Local\Learnpulse\Screenpresso

--helpを実行してヘルプを見てみましょう

Screenpresso.exe --help

Screenpresso 2.1.8.74
Copyright c Learnpulse 2023

  capture    Screen capture operations.

  deploy     Deployment operations.

  license    License operations.

  run        (Default Verb) Custom behaviors.

  video      Operations on existing video files.

  help       Display more information on a specific command.

  version    Display version information.

色々出てきます。capture コマンドを実行するとスクリーンキャプチャーが取れるっぽいですね。

さらに、--help captureでキャプチャーコマンドのヘルプを調べます。

Screenpresso --help capture

Screenpresso 2.1.8.74
Copyright c Learnpulse 2023

USAGE:
Screenshot an area of the screen:
  Screenpresso capture --action ScreenshotRegion --rect 100;100;800;600

Screenshot the full screen:
  Screenpresso capture --action ScreenshotFullScreen

Capture the color of a pixel:
  Screenpresso capture --action ColorPicker --quit

Start a video capture during 1 minute:
  Screenpresso capture --action Video --delay 2

  --action      Type of screen capture.
  --rect        Region of the screen to capture.
  --filepath    Full path of the output media.
  --delay       Indicates max video recording duration in minutes.
  --quit        Quit the current instance of this software.
  --help        Display this help screen.
  --version     Display version information.

ヘルプの USAGE (使い方)の中にドンピシャなサンプルがありますね。

Screenshot an area of the screen:
  Screenpresso capture --action ScreenshotRegion --rect 100;100;800;600

これを読み解く形で説明していきます。

action

--action ScreenshotRegion

範囲選択をした静止画キャプチャーを実行するという指示です。

他に指定可能なアクションは、ScreenshotFullScreen があります。全画面をキャプチャーするときは指定するアクションが変わります。

rect

--rect 100;100;800;600

四角のエリアの範囲設定をする指示です。座標と大きさの4つを指定してエリアを決めます。

上の例は、

  • ディスプレイの左上を起点として、
  • 右に100px, 下に100pxを移動したところをスクショの左上起点とし
  • 横幅800px、縦幅600pxの範囲のスクショを取る

というパラメータの設定です。
4つの数値を(セミコロン)で区切って組み立てます。

全部くっついているので分かりにくいですけど、おちついて読み解きましょう。

filepath

スクリーンキャプチャーしたファイルの保存先を指定します。

filepathを指定しない場合は、Screenpressoの静止画キャプチャーの設定が使われるので、ワークスペースに保存されます。
filepathに既に存在するファイル名を指定してしまうと警告もなく上書きされてしまいます。気を付けてください。

拡張子まで含めて指定することができます。拡張子に対応した画像フォーマットでファイルが作られます。かしこいです。

ディレクトリまで指定してファイル名のルールはScreenpressoの設定に任せる、ということはできませんでした。

スクショをとってみる

では、コマンドラインからスクショ作成をやってみましょう

今回は保存先は、C:\tmp\screenpresso-test\フォルダにしましたが、どこでもよいです。

サンプル

#フルスクリーンのキャプチャー  
λ Screenpresso.exe capture  --action ScreenshotFullScreen --filepath "C:\tmp\screenpresso-test\fullscreen.png" 

#場所指定のキャプチャ  
λ Screenpresso.exe capture --action ScreenshotRegion --rect "100;100;800;600" --filepath "C:\tmp\screenpresso-test\800x600.jpg" 

やってみると分かりますが、Screenpressoをまったく意識することなく、完全に裏側でスクショがとられます。

画像フォーマットを変える

ファイルパスの拡張子を変えると、画像の形式が変わります。ファイル名の拡張子を変えるだけで、保存形式が変わるなんて素敵です。

Screenpresso.exe capture --action ScreenshotRegion --rect "100;100;800;600" --filepath "C:\tmp\screenpresso-test\800x600.jpg" 
Screenpresso.exe capture --action ScreenshotRegion --rect "100;100;800;600" --filepath "C:\tmp\screenpresso-test\800x600.png" 
Screenpresso.exe capture --action ScreenshotRegion --rect "100;100;800;600" --filepath "C:\tmp\screenpresso-test\800x600.gif"
Screenpresso.exe capture --action ScreenshotRegion --rect "100;100;800;600" --filepath "C:\tmp\screenpresso-test\800x600.webp"  

4つのファイルの結果

batファイルを作成して、1クリックで実行できるようにしておくと便利です。

ショートカットを作成する

コマンドラインで毎回キャプチャーするなんて面倒ですね。Windowsのショートカットを作成しておきましょう

エクスプローラの任意のフォルダで、「新規作成」>「ショートカット」

ショートカット作成の画面で、上に書いたコマンドを1行まるごと入れます。

全体がみえていないですが、この値です。xxxの部分は自分のユーザ名になります。
C:\Users\xxx\AppData\Local\Learnpulse\Screenpresso\Screenpresso.exe capture --action ScreenshotRegion --rect "100;100;800;600"

作成したショートカットをエクスプローラ上に入れておくと実行するときにウィンドウを隠してしまうので、タスクバーなどにおくといいでしょう。

さいごにまとめ

今回はちょっと高度な Screenpressoの使い方を紹介しました。
マニアックな使い方ですのでエンジニア的な人には使い道がありそうですが、そうでない場合は無縁の機能ですね。

ファイルの保存先がScreenpressoのワークスペース設定に縛られずに、自由に指定できるのもメリットです。

機会があったらお試しください。