adbを使ってスクリーンショットを取得する

Android

今回はadbでよく使うコマンド screencap についてご紹介~(∩´∀`)∩

adb導入方法については↓コチラ↓

Adbを簡単にインストールする手順
今回はAndroid絡みでadbのインストール手順についてです。adb(Android Debug Bridge)といえばAndroid端末をPCから操作できたり、一部のアプリというかツールを使う際に必要となったりでガジェットオタクや開発者...

screencap

これは読んで字の如く、スクリーンキャプチャを取得するコマンドです。PCと接続されているデバイスの画面キャプチャを取得してくれます。

下記のような場合に使うと便利です。

  • ブログにAndroidスマホの画面を載せたい
  • 作業手順書にスマホの画面を載せたい
  • ゲームのキャラ画像を収集したい?

実際に使うときは↓のようにして実行します。※コマンドプロンプトなどから実行してください

[csharp]adb shell screencap -p "/sdcard/capture.png"[/csharp]

-pオプションでpng形式を指定し、/sdcard/capture.pngがパスとファイル名を表します。

 

便利な使い方

さて、前項で紹介したコマンドですと、端末内に画像が保存されます。これではPC上で扱うには不便ですので、ファイル取得部分もadbでやってしまいましょう。

ファイルをPC上に移動させるには pull コマンドを使用します。↓こんな感じ。

[csharp]adb pull "/sdcard/capture.png" "フォルダのパス/capture.png"[/csharp]

ちなみにpullはコピーしてくる形になるので端末上にもファイルが残ります。これを残したくない場合は rm で削除します。↓こんな。

[csharp]adb shell rm "/sdcard/capture.png"[/csharp]

これら一連の流れを実行すると↓になります。

[csharp]adb shell screencap -p "/sdcard/capture.png"
adb pull "/sdcard/capture.png" "フォルダのパス/capture.png"
adb shell rm "/sdcard/capture.png"[/csharp]

 

バッチにしたらもっと便利

一々↑のコマンドを打つのも面倒ですよね。そこでバッチファイルを作成しましょう。ファイル名部分も決め打ちでは不便ですので、実行日時を含む名前を付けるようにします。

[csharp]set YYYYMMDD=%DATE:/=%
set HHMMSS=%TIME:~0,8%
set HHMMSS=%HHMMSS::=%
set FILENAME=%YYYYMMDD%_%HHMMSS%.png
adb shell screencap -p "/sdcard/%FILENAME%"
adb pull "/sdcard/%FILENAME%" "%~dp0%FILENAME%"
adb shell rm "/sdcard/%FILENAME%"[/csharp]

pull の2つ目の引数「%~dp0」はカレントフォルダ、つまりバッチファイルを置いてあるフォルダになります。この辺はお好みで変更しませう。

その他、ブログ投稿用にリサイズやEXIF削除などをバッチに含めてみても良いと思います。ImageMagick辺りでいけそうですね!

コメント

タイトルとURLをコピーしました