| MATLAB Function Reference | ![]() |
表示
F = getframe F = getframe(h) F = getframe(h,rect) [X,Map] = getframe(...)
詳細
は、ムービーフレームを出力します。フレームは、カレント axes、またはフィギュアのスナップショット(pixmap)です。getframe
F = getframe
は、カレント axes からフレームを取得します。
F = getframe(h)
は、ハンドル番号 h で識別されるフィギュア、または、axes からフレームを取得します。
F = getframe(h,rect)
は、pixmapをコピーする長方形の領域を設定します。rect は、ピクセル単位で、フィギュア、または、axes のハンドル h の左下隅から測ります。rect は、[left bottom width height] の型をした4要素ベクトルで、width と height は、長方形の大きさを定義します。
は、2つのフィールドをもつ構造体であるムービーフレームを出力します。F = getframe(...)
cdata - イメージデータは、unit8 値の行列としてストアされます。F.cdata の次元は、height-width-3 です。colormap - カラーマップは、倍精度のn 行 3列の行列としてストアされます。F.colormap は、トゥルーカラーシステムでは、空になります。F = getframe(gcf); image(F.cdata) colormap(F.colormap)
[X,Map] = getframe(...)
は、インデックス付きイメージ行列 X とカラーマップ Mapを戻します。このバージョンは、以前のバージョンとの互換性をもたせるために用意しているもので、将来削除されます。インデックス付きイメージは、トゥルーカラー表示を常に捕らえるわけでないので、getframeの単出力引数の型を使ってください。MATLAB の以前のバージョンと互換性をもつコードを記述して、トゥルーカラーサポートを利用できるようにするには、つぎのアプローチを使ってください。
F = getframe(gcf); [X,Map] = frame2im(f); imshow(X,Map)
注意
通常、getframe は、movie を使って、プレーバック用にムービーフレームの配列を集めるには、for ループの中で使います。たとえば、つぎのように行います。
for j = 1:n
plotting commands
F(j) = getframe;
end
movie(F)
MATLAB の以前のバージョン(Release 11/MATLAB 5.3 以前)との互換性をもつムービーを作成するため、つぎのアプローチを行います。
M = moviein(n);
for j = 1:n
plotting commands
M(:,j) = getframe;
end
movie(M)
領域の確保
F = getframe; は、カレント axes の内容を出力しますが、軸のラベル、タイトル、刻みのラベルを含んでいないことに注意してください。F = getframe(gcf); は、カレントフィギュアウインドウの内部全体を捉えます。フィギュアウインドウメニューを取り込むには、メニューを含む長方形を使った F = getframe(h,rect) の型を使ってください。
例題
Z = peaks; surf(Z)axistight set(gca,'nextplot','replacechildren'); for j = 1:20 surf(sin(2*pi*j/20)*Z,Z) F(j) = getframe; end movie(F,20) % 12回ムービーを実行します。
参考
getframe, frame2im, image, im2frame, movie, moviein
| getfield | get (serial) | ![]() |