Main Content

setFixedAspectRatioMode

ROI オブジェクトをサイズ変更したときに縦横比を維持する

関数 setFixedAspectRatioMode は推奨されません。代わりに、新しい ROI で、FixedAspectRatio プロパティの値を設定します。詳細については、互換性の考慮事項を参照してください。

説明

setFixedAspectRatioMode(h,TF) は対話型でサイズ変更の実行時に ROI オブジェクトの縦横比を維持するかどうかを設定します。

すべて折りたたむ

楕円 ROI オブジェクトを作成します。

imshow("coins.png")
h = imellipse(gca,[10 10 100 100]);

イメージの境界内に楕円を保持するために、makeConstrainToRectFcn を使用して位置制約関数を指定します。

fcn = makeConstrainToRectFcn("imellipse",get(gca,"XLim"),get(gca,"YLim"));
setPositionConstraintFcn(h,fcn);

楕円のサイズと形状を変更します。

ここで、楕円の縦横比を固定します。

setFixedAspectRatioMode(h,true);

楕円のサイズ変更を試みます。楕円の縦横比は変わりません。

入力引数

すべて折りたたむ

ROI オブジェクト。imellipse または imrect オブジェクトとして指定します。

ROI オブジェクトのサイズを変更したときに縦横比を固定。true または false として指定します。

データ型: logical

バージョン履歴

R2006a より前に導入

すべて折りたたむ

R2018b: 関数 setFixedAspectRatioMode は非推奨

R2018b 以降、既存の ROI オブジェクトのセットが新しい ROI オブジェクトのセットに置き換えられています。新しいオブジェクトは、面の色の透明度など、さらに便利な機能を提供します。新しいクラスでは、移動やクリックなどの ROI の変化に応答するために使用できるイベントもサポートされています。現時点では、以前の ROI オブジェクトを削除する予定はありませんが、追加された機能や柔軟性を活用するために、新しい ROI に切り替えてください。新しい ROI 関数を使用した ROI の作成方法の詳細については、ROI の形状の作成を参照してください。

サイズを変更するときに Ellipse または Rectangle ROI の縦横比が維持されるかどうかを制御するには、ROI の FixedAspectRatio プロパティを使用します。

コードの更新

setFixedAspectRatioMode メソッドのすべてのインスタンスを更新してください。

非推奨の使用方法推奨される代替案

この例では、setFixedAspectRatioMode メソッドを使用して、サイズ変更時に四角形の縦横比を維持します。

imshow("cameraman.tif")
h = imrect(gca,[10 10 100 100]);
setFixedAspectRatioMode(h,true);

新しい ROI オブジェクトを使用して四角形 ROI を作成し、setFixedAspectRatioMode メソッドを使用する代わりに FixedAspectRatio プロパティの値を設定します。サイズ変更時に縦横比を維持するには、このプロパティを true に設定します。

imshow("camerman.tif")
h = drawrectangle(gca,"Position",[10 10 100 100]);
h.FixedAspectRatio = true;