Main Content

writeAnimation

アニメーションをビデオ ファイルとして保存

説明

writeAnimation(filename) は、現在の図のアニメーション オブジェクトを GIF または AVI ビデオ ファイルに書き込みます。アニメーション オブジェクトは関数 fanimator を使用して作成しなければなりません。filename の拡張子によりビデオ形式が設定されます。この拡張子は '.gif' または '.avi' のいずれかでなければなりません。

  • ファイル拡張子を指定しない場合、writeAnimation は、既定で拡張子 '.avi' を選択します。

  • '.mp4''.mpg' などの他のファイル拡張子を指定すると、writeAnimation はエラー メッセージを返します。

writeAnimation(fig,filename) は、図 fig のアニメーション オブジェクトを GIF または AVI ビデオ ファイルに書き込みます。

writeAnimation(___,Name,Value) は、指定された Name,Value ペアの引数をもつアニメーション オブジェクトを書き込みます。このオプションは、前述の構文のすべての入力引数の組み合わせで使用できます。名前と値のペアを設定し、GIF または AVI ビデオ ファイルのプロパティを指定できます。

writeAnimation(vidObj) は、現在の図のアニメーション オブジェクトを VideoWriter オブジェクトに書き込みます。この構文には、アニメーション オブジェクトを 'MPEG-4''Uncompressed AVI' などの別のビデオ ファイル形式で保存するオプションが備わっています。

writeAnimation(fig,vidObj) は、図 fig のアニメーション オブジェクトを VideoWriter オブジェクトに書き込みます。

アニメーションを VideoWriter オブジェクトとして保存すると、出力ビデオ ファイルのプロパティは、VideoWriter オブジェクトのプロパティに従います。

すべて折りたたむ

移動する円のアニメーション オブジェクトを作成し、それを GIF ファイルとして保存します。

2 つのシンボリック変数 tx を作成します。変数 t はアニメーションの時間パラメーターを定義します。t を使用して円の中心を (t,1) に設定し、x を使用して [-pi pi] の範囲内で円の周囲長をパラメーター化します。fanimator を使用して、円のアニメーション オブジェクトを作成します。x 軸と y 軸が同じ長さになるように設定します。

syms t x
fanimator(@fplot,cos(x)+t,sin(x)+1,[-pi pi])
axis equal

コマンド playAnimation を入力してアニメーションを再生します。アニメーションを 'wheel.gif' という名前の GIF ビデオ ファイルとして保存します。

writeAnimation('wheel.gif')

Animation of a circle centered at (t,1)

移動する円のアニメーション オブジェクトを作成し、それを MPEG-4 ファイルとして保存します。

まず、2 つのシンボリック変数 t および x を作成します。変数 t はアニメーションの時間パラメーターを定義します。t を使用して円の中心を (t,1) に設定し、x を使用して [-pi pi] の範囲内で円の周囲長をパラメーター化します。fanimator を使用して、円のアニメーション オブジェクトを作成します。x 軸と y 軸が同じ長さになるように設定します。

syms t x
fanimator(@fplot,cos(x)+t,sin(x)+1,[-pi pi])
axis equal

コマンド playAnimation を入力してアニメーションを再生します。

次に、アニメーションを MPEG-4 ファイルとして保存します。関数 VideoWriter を使用して、ビデオ オブジェクトを作成して 'myFile' という名前のファイルに保存します。ビデオ ファイル形式を 'MPEG-4' として指定します。ビデオ ファイルを開き、writeAnimation を使用して円のアニメーション オブジェクトを保存して、ビデオ ファイルを閉じます。

vidObj = VideoWriter('myFile','MPEG-4');
open(vidObj)
writeAnimation(vidObj)
close(vidObj)

Animation of a circle centered at (t,1)

円のアニメーション オブジェクトを作成し、それを指定されたループ回数だけ再生する GIF ファイルとして保存します。

まず、2 つのシンボリック変数 t および x を作成します。変数 t はアニメーションの時間パラメーターを定義します。アニメーションの Figure ウィンドウを作成します。

syms t x
fig = figure;

fanimator を使用して、円のアニメーション オブジェクトを作成します。t を使用して円の中心を (t,1) に設定し、x を使用して [-pi pi] の範囲内で円の周囲長をパラメーター化します。x 軸と y 軸が同じ長さになるように設定します。

syms t x
fanimator(@fplot,cos(x)+t,sin(x)+1,[-pi pi])
axis equal

コマンド playAnimation を入力してアニメーションを再生します。

次に、関数 writeAnimation を使用して、図 fig のアニメーションを 'loop.gif' という名前の GIF ファイルとして保存します。関数 writeAnimation は、MATLAB® Figure ウィンドウでアニメーションを常に 1 回再生してからアニメーションを保存します。アニメーションを GIF ファイルとして保存すると、作成された GIF ファイルはアニメーションを 1 回再生し、指定されたループ回数だけ繰り返します。この例の場合、'LoopCount' を 1 に設定します。GIF ファイルはアニメーションを 2 回再生します。

writeAnimation(fig,'loop.gif','LoopCount',1)

Animation of a circle centered at (t,1)

GIF ビデオ ファイルでループの回数を正しく表示するには、GIF デコーダーのあるアプリケーションでファイルを開かなければなりません。

入力引数

すべて折りたたむ

ビデオ ファイル名。string スカラーまたは文字ベクトルとして指定します。filename の拡張子によりビデオ形式が設定されます。この拡張子は '.gif' または '.avi' のいずれかでなければなりません。ファイルへの書き込み権限が必要です。

  • ファイル拡張子を指定しない場合、writeAnimation は既定で '.avi' を使用します。

  • filename が既に存在する場合、writeAnimation はファイルを上書きします。

  • filename に絶対パスが含まれていない場合、関数は現在のフォルダーにアニメーションを保存します。

ビデオ オブジェクト。VideoWriter オブジェクトとして指定します。VideoWriter オブジェクトには、アニメーション オブジェクトを保存するときの出力ビデオ形式を制御するオプションが備わっています。MATLAB の VideoWriter オブジェクトの詳細については、VideoWriter を参照してください。

ターゲット Figure。Figure オブジェクトとして指定します。Figure オブジェクトの詳細については、figure を参照してください。

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は関係ありません。

R2021a より前では、コンマを使用して名前と値の各ペアを区切り、Name を引用符で囲みます。

例: 'FrameRate',15,'LoopCount',2

アニメーションの時間パラメーターの範囲。2 要素の行ベクトルとして指定します。2 要素は増加する実数値でなければなりません。

例: [-2 4.5]

フレーム レート。正の値で指定します。フレーム レートは、アニメーション オブジェクトをビデオ ファイルに書き込むときの単位時間当たりのフレーム数を定義します。

例: 30

逆方向オプション。logical 値 (boolean) として指定します。true を指定すると、関数はアニメーションを逆方向つまり逆の順序で保存します。

例: true

アニメーション ループ カウント。非負の整数 (0 から 65535) または Inf として指定します。この値は、GIF ファイルのアニメーション ループの繰り返し回数を設定します。GIF 以外のビデオ ファイル形式を使用している場合、この値の設定による影響はありません。

  • 既定値の 0 を使用すると、GIF ファイルはアニメーションを 1 回再生します。

  • 'LoopCount' を整数 n に設定すると、GIF ファイルはアニメーションを 1 回プラス n 回 (合計で n+1 回) 繰り返して再生します。

  • アニメーションを無限に繰り返すには、Inf 値を使用します。

例: 1

バージョン履歴

R2019a で導入