主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

getframe

座標軸または图のムービーフレームとしてのキャプチャ

説明

F= getframeは,画面上に表示されている現在の座標軸をムービーフレームとしてキャプチャします。Fはイメージデータをもつ構造体です。getframeは,画面上の表示と同じサイズで座標軸をキャプチャします。目盛りラベルなど,座標軸の外枠の外側にあるコンテンツはキャプチャしません。

F= getframe (斧头は,現在の座標軸ではなく斧头で指定された座標軸をキャプチャします。

F= getframe (无花果は,无花果で指定された图をキャプチャします。座標軸,タイトル,ラベル,目盛りなど,图ウィンドウの内側全体をキャプチャする場合は,图を指定します。キャプチャしたムービーフレームには,图のメニューやツールバーは含まれません。

F= getframe (___矩形は,矩形で定義された四角形内部の領域をキャプチャします。矩形は,[左下角宽度高度]の形式の4要素ベクトルとして指定します。このオプションは,前述の構文の入力引数斧头または无花果と共に使用します。

すべて折りたたむ

乱数データのプロットを作成します。座標軸をキャプチャし,イメージデータを返します。getframeは,座標軸の内側と座標軸の外枠を取得します。座標軸の外枠からはみ出したコンテンツはキャプチャしません。

plot(rand(5)) F = getframe;

Fは,キャプチャしたイメージデータを格納するフィールドcdataをもつ構造体です。

imshowを使用して,キャプチャしたイメージデータを表示します。

图imshow (F.cdata)

表面プロットを作成します。メニューとツールバーを除いて,图ウィンドウの内部をキャプチャします。

surf(peaks) F = getframe(gcf);

Fは,キャプチャしたイメージデータを格納するフィールドcdataをもつ構造体です。

imshowを使用して,キャプチャしたイメージデータを濃い背景色で图に表示すると,キャプチャした領域を確認できます。

图(“颜色”(c .c . data)

座標軸の内側に加えて,各方向に30ピクセルのマージンをキャプチャします。キャプチャするフレーム内に目盛りラベルを含めるには,追加マージンが必要です。目盛りラベルのサイズによっては,マージンの調整が必要となる場合があります。

乱数データのプロットを作成します。

情节(兰德(5))

座標軸の単位をピクセルに変更し,現在の座標軸の位置を返します。3位置ベクトルの第と第4の要素は,座標軸の幅と高さをピクセル単位で指定します。

Drawnow ax = gca;斧子。单位=“像素”;pos = ax。位置
Pos = 73.8000 47.2000 434.0000 342.3000

座標軸に目的のマージンを加えた四角形領域を定義する4要素ベクトル矩形を作成します。矩形の最初の2つの要素は,座標軸の左下隅を基準にして,四角形の左下隅の位置を指定します。矩形の最後の2つの要素は,四角形の幅と高さを指定します。座標軸の単位を既定値“归一化”にリセットします。

玛格= 30;矩形=[高山草地,高山草地,pos(3) + 2 *高山草地,pos(4) + 2 *玛格);甘氨胆酸F = getframe(矩形);斧子。单位=“归一化”

imshowを使用して,キャプチャしたイメージデータを濃い背景色で图に表示すると,キャプチャした領域を確認できます。

图(“颜色”(c .c . data)

キャプチャするイメージデータにタイトル,軸ラベルおよび目盛りラベルが含まれるように,座標軸の周囲のマージンを計算します。

タイトルとx軸ラベルをもつプロットを作成します。

情节(兰德(5))包含(“x”)标题(“随机数据图”

座標軸の単位をピクセルに変更し,座標軸の位置TightInsetのプロパティ値を格納します。TighInsetプロパティは,[左下右上]の形式の4要素ベクトルです。この値は,座標軸の周囲にある目盛りの値とテキストラベル用のマージンです。

Drawnow ax = gca;斧子。单位=“像素”;pos = ax.Position;ti = ax.TightInset;

座標軸に自動計算されたマージンを加えた四角形領域を定義する4要素ベクトル矩形を作成します。矩形の最初の2つの要素は,座標軸の左下隅を基準にして,四角形の左下隅の位置を指定します。矩形の最後の2つの要素は,四角形の幅と高さを指定します。

矩形= [ti (1), ti (2), pos ti (1) + (3) + ti (3), pos (4) + ti (2) + ti (4)];F = getframe (ax,矩形);

imshowを使用して,キャプチャしたイメージデータを濃い背景色で图に表示すると,キャプチャした領域を確認できます。

图(“颜色”(c .c . data)

R2019b以降,関数tiledlayoutおよびnexttileを使用して,プロットをタイル表示できます。関数tiledlayoutを呼び出して,2行1列のタイル表示チャートレイアウトを作成します。関数nexttileを呼び出して,轴オブジェクトax₁およびax2を作成します。各座標軸にラインをプロットします。

Tiledlayout (2,1) ax1 = nexttile;情节(1:10“b”) ax2 = nexttile;情节(1:10“r”

下の座標軸のコンテンツをキャプチャします。getframeは,プロットの内部と枠線をキャプチャします。プロットの外枠を越える目盛りの値やラベルはキャプチャしません。

F = getframe (ax2);

imshowを使用して,キャプチャしたイメージデータを表示します。

图imshow (F.cdata)

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

Z =山峰;冲浪(Z)轴手册甘氨胆酸ax =;斧子。NextPlot =“replaceChildren”;循环= 40;F(循环)=结构(cdata的[],“colormap”[]);j = 1:循环X = sin(j*pi/10)*Z;surf(X,Z) drawnow F(j) = getframe(gcf);结束

ムービーを2回再生します。

无花果=图;电影(无花果、F、2)

入力引数

すべて折りたたむ

キャプチャする座標軸。オブジェクトまたはGeographicAxesオブジェクトとして指定します。このオプションは,現在の座標軸以外の座標軸をキャプチャする場合に使用します。

getframeは,座標軸の外枠を囲む最小の四角形の内側にあるコンテンツをキャプチャします。目盛りの値およびラベルをすべてキャプチャする場合は,代わりに入力引数无花果を使用します。

例:F = getframe (ax);

キャプチャする图。数字オブジェクトとして指定します。

キャプチャする四角形の領域。[左下角宽度高度]の形式の4要素ベクトル(ピクセル単位)として指定します。の要素は,四角形の左下隅の位置を定義します。この位置は,getframeの最初の入力引数として指定された图または座標軸に対する位置です。宽度要素と高度要素で四角形の大きさを定義します。

图ウィンドウ内に全体が収まる四角形を指定します。

出力引数

すべて折りたたむ

ムービーフレーム。2次のつのフィールドをもつ構造体として返されます。

  • cdata- - - - - -uint8型の値の配列として格納されるイメージデータ。イメージデータの配列のサイズは,画面の解像度によって決まります。

  • colormap——カラーマップ。トゥルーカラーシステムでは,このフィールドは空になります。

メモ

cdataのサイズに関して,重要な検討事項がいくつかあります。

  • getframeがキャプチャした領域(图中,座標軸,あるいは矩形で指定した領域)のサイズをクエリした場合,そのサイズ(ピクセル単位)がcdataの要素数と一致しないことがあります。この違いの理由は,cdataの要素数は画面の解像度(およびオペレーティングシステムの設定)によって決まるのに対して,MATLAB®でのピクセル数は画面上の実際のピクセル数に対応していない場合があるからです。

  • R2015b以降で高解像度システムを使用している場合,cdataのサイズは,旧リリースまたは他のシステムでのサイズよりも大きくなることがあります。

制限

  • MATLAB在线™またはWebアプリ(MATLAB编译器)では,getframeは次の機能をサポートしていません。

    • 関数uifigure图内またはの任意の軸を使用して作成された图の内容のキャプチャ。

    • 程序设计师またはアプリ内の任意の軸を使用して作成されたアプリの内容のキャプチャ。

詳細

すべて折りたたむ

ピクセル

窗户®および麦金塔电脑システムでのピクセル単位の距離は,システムの解像度に依存しません。

  • Windowsシステムの1ピクセルは1/96インチです。

  • 麦金塔电脑システムの1ピクセルは1/72インチです。

Linux®システムでは,ピクセルのサイズは使用しているシステムの解像度によって決まります。

ヒント

  • getframeの使用時にパフォーマンスを最大限に高めるには,必ず图を画面上に表示します。图が表示されていない場合でもgetframeは图をキャプチャできますが,パフォーマンスが低下することがあります。

  • イメージデータの解像度を詳細に制御するには,代わりに関数打印を使用します。打印に出力引数cdataを指定すると,イメージデータを返します。入力引数决议は,イメージの解像度を制御します。

R2006aより前に導入