1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

P5.js 日本語リファレンス(saveFrames)

Last updated at Posted at 2020-06-12

このページでは[「P5.js 日本語リファレンス」] (https://qiita.com/bit0101/items/91818244dc26c767a0fe) の saveFrames関数を説明します。

saveFrames()

説明文

ムービーの作成に使用できる一連のフレームをキャプチャします。コールバックを受け入れます。たとえば、フレームをサーバーに送信してサーバーに保存したり、ムービーに変換したりできます。コールバックが提供されない場合、ブラウザは作成されたばかりのすべての画像をダウンロードしようとして保存ダイアログをポップアップします。提供されるコールバックでは、画像データはデフォルトでは保存されませんが, 代わりにオブジェクトの配列として引数としてコールバック関数に渡されます。配列のサイズはフレームの総数と同じです。

saveFrames() はアニメーションの最初の15フレームのみを保存することに注意してください。より長いアニメーションをエクスポートするには ccapture.js などのライブラリを調べます。

構文

saveFrames(filename, extension, duration, framerate, [callback])

パラメタ

  • filename
    String:ファイル名

  • extension
    String:"jpg" または "png"

  • duration
    Number:フレームを保存する秒単位の期間

  • framerate
    Number:フレームを保存するフレームレート(単位時間あたりのフレーム数)

  • callback
    Function(Array):画像データを処理するために実行されるコールバック関数。この関数は, 配列を引数として受け入れます。配列には、指定された数のオブジェクトのフレームが含まれます。各オブジェクトには3つのプロパティがあります:
    imageData-画像/オクテットストリーム、ファイル名、拡張子(オプション)

例1

let num;
function setup(){
  num = 0;
}

function draw() {
  createCanvas(100, 100);
  background(255);
  stroke(0);
  textSize(24);
  text(num, 20, 40);

}

// マウスをクリックするたびにフレームを保存する
function mousePressed() {  
  saveFrames(String(num), 'png', 1, 1);
  num ++;
}

実行結果

著作権

p5.js was created by Lauren McCarthy and is developed by a community of collaborators, with support from the Processing Foundation and NYU ITP. Identity and graphic design by Jerel Johnson.

ライセンス

Creative Commons(CC BY-NC-SA 4.0) に従います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?