setConstrainedPosition
ROI オブジェクトに新しい位置を設定する
setConstrainedPosition
は推奨されません。位置制約の設定方法の詳細については、バージョン履歴を参照してください。
説明
setConstrainedPosition(
は、ROI オブジェクト h
,pos
)h
の位置を新しい位置に設定します。候補位置 pos
は、setPositionConstraintFcn
で指定される位置制約関数に従います。
入力引数
pos
— ROI オブジェクトの候補位置
数値配列
ROI オブジェクトの候補位置。数値配列として指定します。配列の形状は ROI オブジェクトのタイプで異なります。さらに関数 setPosition
で返される形式と整合性があります。
ROI オブジェクト | 位置 |
---|---|
imellipse | [xmin ymin width height] 形式の 4 要素のベクトル。楕円を囲む境界ボックスの新しいサイズと位置を表します。境界ボックスの新しいサイズは width x height ピクセルです。ボックスの左上隅の新しい (x,y) 座標は (xmin ,ymin ) です。 |
imline | [x1 y1; x2 y2] 形式の 2 行 2 列の行列。ラインの 2 つの端点の新しい位置を表します。 |
impoint | [x y] 形式の 1 行 2 列ベクトル。 |
impoly | n 行 2 列の行列。2 つの列は、n 個の各頂点に対して、新しい x と y 座標を定義します。 |
imrect | [xmin ymin width height] 形式の 4 要素ベクトル。四角形の新しいサイズは width x height ピクセルです。四角形の左上隅の新しい (x,y) 座標は (xmin ,ymin ) です。 |
バージョン履歴
R2008a で導入R2018b: setConstrainedPosition
は非推奨
R2018b 以降、既存の ROI オブジェクトのセットが新しい ROI オブジェクトのセットに置き換えられています。新しいオブジェクトは、面の色の透明度など、さらに便利な機能を提供します。新しいクラスでは、移動やクリックなどの ROI の変化に応答するために使用できるイベントもサポートされています。現時点では、以前の ROI オブジェクトを削除する予定はありませんが、追加された機能や柔軟性を活用するために、新しい ROI に切り替えてください。新しい ROI 関数を使用した ROI の作成方法の詳細については、ROI の形状の作成を参照してください。
既存の ROI では、makeConstrainToRectFcn
を使用して、ROI を描画または移動できる範囲を指定する関数を作成します。その後、この関数を ROI に登録します。オブジェクト関数 setPosition
を使用すると、制約された範囲の外側であっても指定したすべての場所に ROI を移動できます。setConstrainedPosition
を使用する場合、ROI は、制約位置関数によって設定された範囲に従います。
新しい ROI では、ROI の DrawingArea
プロパティを使用して、ROI を描画または移動できる範囲を指定します。Position
プロパティを使用して位置を設定した場合は、DrawingArea
プロパティで設定された範囲に従いません。
setConstrainedPosition
のすべてのインスタンスを更新してください。
非推奨の使用方法 | 推奨される代替案 |
---|---|
この例では、関数 imshow('cell.tif') h = impoint(gca,20,60); % Make a function that constrains movement of the point x = get(gca,'XLim'); y = get(gca,'YLim'); fcn = makeConstrainToRectFcn('impoint',x,y);; % Apply the constraint function to the ROI. setPositionConstraintFcn(h,fcn); % Try to specify a Position value outside the limits. setConstrainedPosition(h,[1 51]); % Note how ROI does not honor value outside of limits. | 新しい ROI では、 I = imread('cell.tif'); imshow(I) h = drawpoint(gca,'Position',[20 60]) [height width] = size(I); %Get image dimensions h.DrawingArea = [20,20,(width-40),(height-40)]; |
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)