キャンバスから一連のフレームをキャプチャし、画像として保存できるようにします。
saveFrames()
はフレームオブジェクトの配列を作成します。各フレームは ファイルタイプ、ファイル名、および文字列としての画像データを持つオブジェクトとして保存されます。 例えば、最初に保存されたフレームは以下のようなプロパティを持つかもしれません:
{ ext: 'png', filenmame: 'frame0', imageData: 'data:image/octet-stream;base64, abc123' }
。
最初のパラメータfilename
は、ファイル名のプレフィックスを設定します。 例えば、プレフィックスを'frame'
に設定すると、 frame0.png
、frame1.png
などの画像ファイルが生成されます。
2番目のパラメータextension
は、ファイルタイプを'png'
または 'jpg'
に設定します。
3番目のパラメータduration
は、記録する時間を秒単位で設定します。 最大時間は15秒です。
4番目のパラメータframerate
は、1秒あたりに記録するフレーム数を設定します。 最大フレームレート値は22です。duration
とframerate
には制限が設けられており、これは過度のメモリ使用を避けるためです。大きなキャンバスを 記録すると、スケッチやWebブラウザがクラッシュする可能性があります。
5番目のパラメータcallback
はオプションです。関数が渡された場合、 デフォルトでは画像ファイルは保存されません。コールバック関数は キャプチャされた各フレームのデータを含む配列を処理するために使用できます。画像データの配列には、 各フレームに対して3つのプロパティ(imageData
、filename
、 extension
)を持つオブジェクトのシーケンスが含まれています。
注意:フレームはデフォルトで個別の画像ファイルとしてダウンロードされます。
実例
シンタックス
saveFrames(filename, extension, duration, framerate, [callback])
パラメーター
ファイル名のプレフィックス。
ファイル拡張子、'jpg'または'png'。
記録する時間(秒)。このパラメータは15以下に制限されます。
1秒あたりに保存するフレーム数。このパラメータは22以下に制限されます。
画像データを処理するために実行されるコールバック関数。 この関数は引数として配列を受け取る必要があります。 配列には指定された数のフレームオブジェクトが含まれます。 各オブジェクトには3つのプロパティがあります: imageData
、filename
、extension
。