動機
Processingを動かしている最中に、さっと画像を保存できたら便利なでは?と思いってやってみたらすごく捗ったので共有を。
仕込みはひじょーーーに簡単です。
やりかた
Processingでおそらく最も有名な日本人向け入門サイトであるProcessing基礎最速入門 - catch.jp-wikで紹介されている衝突する複数のボールのコードを例に試していきます。
P
のキーをタイプすると画像がデスクトップに保存される仕様にします。
以下のコードをpdeの最後に追記します。
multibubble.pde
//--------------------------------------
// 最後に以下のコードを追加して下さい
//--------------------------------------
// ファイル名の連番で利用
int count = 1;
void keyPressed() {
// Pのキーが入力された時に保存
if(key == 'p' || key == 'P') {
// デスクトップのパスを取得
String path = System.getProperty("user.home") + "/Desktop/screenshot" + count + ".jpg";
// 保存
save(path);
// 番号を加算
count++;
// ログ用途
println("screen saved." + path);
}
}
実行
(▶)ボタンを押してProcessingを実行します。
実行中にP
のキーを押すと以下のようにコンソールに保存された旨が出力されます。
連打しても大丈夫です。
コード説明
見たまんまなのであまりいうことないですが…
- コードの説明デスクトップのパスは
System.getProperty("user.home") + "/Desktop"
で取得できます。 - 2回目の起動をした場合、同一ファイル名があった場合は上書きされるのでもう少しロジック入れた方が良いかもです。
おしまい
簡単にスナップショット取れると想像以上に捗ります!
是非お試し下さい!