ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

movie

記録されたムービー フレームを連続的に表示

構文

movie(M)
movie(M,n)
movie(M,n,fps)
movie(h,...)
movie(h,M,n,fps,loc)

説明

関数 movie は、列がムービー フレーム (通常は、関数 getframe で作成されます) である行列で定義されるムービーを再生します。

movie(M) は、既定のターゲットとして、現在の座標軸を使って、行列 M のムービーを 1 回再生します。ムービーを座標軸ではなく Figure で再生するには、movie(figure_handle,...) のように、最初の引数として Figure ハンドル (または gcf) を指定します。M はムービー フレーム (通常は関数 getframe から) の配列でなければなりません。

movie(M,n) は、ムービーを n 回再生します。n が負の場合、各サイクルはムービーを表示してから、その後で逆回転でムービーを表示します。n がベクトルの場合、最初の要素がムービーを表示する回数を示します。残りの要素は、2 番目から最後の要素までのフレームの表示順序を示します。

たとえば、M が 4 フレームの場合、n = [10 4 4 2 1] は、10 回ムービーを表示します。ムービーは、フレーム 4、再びフレーム 4、フレーム 2、そして最後にフレーム 1 から構成されます。

movie(M,n,fps) は、1 秒間に fps フレーム、ムービーを表示します。既定の設定は 1 秒間に 12 フレームです。設定値で実行できないコンピューターの場合は、可能な限り速く実行されます。

movie(h,...) は、ハンドル h で識別される Figure や座標軸内でムービーを表示します。Figure または Axes を指定すると、MATLAB® はムービーを利用可能な最大サイズに調節できます。

movie(h,M,n,fps,loc) は、4 要素の位置ベクトル [x y 0 0] である loc を指定します。これは、ムービー フレームの左下隅が固定されます (ベクトルの最初の 2 つの要素のみが使用されます)。この位置は、オブジェクトの Units プロパティにかかわらず、ピクセル単位でハンドル h で指定された Figure や Axes のやや左下隅になります。

すべて折りたたむ

ループ内で関数 getframe を使用して、関数 peaks が振動するフレームを記録します。ムービー フレームを保存する配列を事前に割り当てます。

figure
Z = peaks;
surf(Z)
axis tight manual
ax = gca;
ax.NextPlot = 'replaceChildren';


loops = 40;
F(loops) = struct('cdata',[],'colormap',[]);
for j = 1:loops
    X = sin(j*pi/10)*Z;
    surf(X,Z)
    drawnow
    F(j) = getframe;
end

ムービーを 2 回再生するには、movie(F,2) を使用します。

ヒント

関数 movie は、ムービーを再生する際に作成する Figure のサイズを既定で 560 x 420 とします。これより大きいまたは小さいフレームにムービーを再生しても、Figure のサイズを変更しません。その他のフレーム サイズに合わせるには、ムービーに合わせて Figure のサイズを変更します。

関数 movie は、8 ビット イメージ フレームのみを受け入れます。16 ビット グレースケールや 24 ビット トゥルーカラー イメージ フレームは受け入れません。

ムービーをバッファリングすると、フレームはすべてメモリに保存されます。その結果、Microsoft® Windows® およびおそらくはその他のプラットフォーム上でも、ムービーが長いとシステム リソースによってはメモリを消費し尽してしまうことがあります。このような場合、次のようなエラー メッセージが表示されます。

??? Error using ==> movie 
Could not create movie frame

Ctrl + C キーを押して、ムービーを中断することができます。

movie は、組み込み関数ではありません。したがって、関数 builtin を使用して movie を呼び出すことはできません。

Windows システムでのレンダラーの制限事項

Figure の Renderer プロパティを painters に設定することによって、一部の Windows システムにおける OpenGL レンダラーでの getframe の使用制限を回避できます。

R2006a より前に導入