ドキュメンテーション

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

impoint

ドラッグ可能な点の作成

構文

h = impoint
h = impoint(hparent)
h = impoint(hparent,position)
h = impoint(hparent,x, y)
h = impoint(..., param,val)

説明

h = impoint は、ドラッグ可能な点を現在の座標軸上に対話形式で配置します。この関数は、impoint オブジェクトのハンドル h を返します。点には、その外観や動作などを制御するコンテキスト メニューが関連付けられています。対話型動作を参照してください。このコンテキスト メニューを表示するには、点を右クリックします。

h = impoint(hparent) は、hparent で指定されたオブジェクト上に点を対話形式で配置します。hparent は点のグラフィックスの HG の親を指定し、これは通常 axes ですが、hggroup の親にすることが可能なそれ以外のオブジェクトを指定することもできます。

h = impoint(hparent,position) は、hparent で指定されたオブジェクト上にドラッグ可能な点を作成します。position は、[x y] の形式で点の初期位置を指定する 1 行 2 列の配列です。

h = impoint(hparent,x, y) は、hparent で指定されたオブジェクト上にドラッグ可能な点を作成します。xy はいずれもスカラーで、共に点の初期位置を指定します。

h = impoint(..., param,val) は、点の動作を制御するパラメーターおよび対応値を指定して、ドラッグ可能な点を作成します。使用するパラメーターを次の表に示します。パラメーター名は省略形でも構いません。大文字と小文字は区別されません。

パラメーター説明

'PositionConstraintFcn'

マウスを使用して点をドラッグしたときに呼び出される関数ハンドル fcn。この関数を使用して、点をドラッグできる場所を制御します。有効な関数ハンドルの詳細は、setPositionConstraintFcn メソッドのヘルプを参照してください。

対話型動作

対話型構文で impoint を呼び出すと、ポインターはイメージ上で十字形 に変わります。マウスをクリック アンド ドラッグして、点の位置を指定します。点では、その外観や動作などを制御するコンテキスト メニューがサポートされています。次の表は、右クリックによるコンテキスト メニュー オプションを含む点の対話型動作を示しています。

対話型動作説明
点の移動。マウス ポインターを点上に移動します。マウス ポインターが花形 に変わります。マウスをクリック アンド ドラッグして、点を移動します。
点の表示に使用する色の変更。マウス ポインターを点上に移動します。右クリックで表示されるコンテキスト メニューから [色の設定] を選択し、使用する色を指定します。
点の座標の取得。マウス ポインターを点上に移動します。右クリックで表示されるコンテキスト メニューから [位置のコピー] を選択し、点の座標 [X Y] を指定する 1 行 2 列の配列をクリップボードにコピーします。
点の削除。ポインターを点の上に移動します。右クリックして、コンテキスト メニューから [削除] を選択します。コンテキスト メニューからこのオプションを削除するには、Deletable プロパティを false に設定します。h = impoint(); h.Deletable = false;

メソッド

以下に impoint オブジェクトでサポートされるメソッドを示します。全メソッドの一覧を表示するには、「methods impoint」と入力してください。

addNewPositionCallback — ROI オブジェクトに新しい位置のコールバックを追加する

詳細は、imroi を参照してください。

delete — ROI オブジェクトを削除する

詳細は、imroi を参照してください。

getColor — ROI オブジェクトの描画に使用する色を取得する

詳細は、imroi を参照してください。

getPosition — 点の現在の位置を返す

pos = getPosition(h) は、点 h の現在の位置を返します。返される位置 pos は、2 要素ベクトル [x y] です。

getPositionConstraintFcn — 現在の位置の制約関数の関数ハンドルを返す

詳細は、imroi を参照してください。

removeNewPositionCallback — ROI オブジェクトから新しい位置のコールバックを削除する

詳細は、imroi を参照してください。

resume — MATLAB コマンド ラインの実行を再開する

詳細は、imroi を参照してください。

setColor — ROI オブジェクトの描画に使用する色を設定する

詳細は、imroi を参照してください。

setConstrainedPosition — ROI オブジェクトを新しい位置に設定する

詳細は、imroi を参照してください。

setPosition — 新しい位置に点を設定する

setPosition(h,pos) は、点 h を新しい位置に設定します。新しい位置 pos[x y] の形式です。

setPosition(h,new_x,new_y) は、点 h を新しい位置に設定します。new_xnew_y はどちらもスカラーで、一緒に使用して点の位置を指定します。

setPositionConstraintFcn — ROI オブジェクトの位置制約関数を設定する

詳細は、imroi を参照してください。

setString — 点のテキスト ラベルを設定する

setString(h,s) は、点 h のテキスト ラベルを設定します。文字ベクトル s は、点の右下に配置されます。

wait — ROI の作成が完了するまで MATLAB コマンド ラインをブロックする

詳細は、imroi を参照してください。

例 1

impoint メソッドを使用してカスタム色の設定、ラベルの設定、境界の強制的な制約、点の移動に伴うタイトル内の位置の更新を行います。

figure, imshow rice.png
h = impoint(gca,100,200);
% Update position in title using newPositionCallback
addNewPositionCallback(h,@(h) title(sprintf('(%1.0f,%1.0f)',h(1),h(2))));
% Construct boundary constraint function
fcn = makeConstrainToRectFcn('impoint',get(gca,'XLim'),get(gca,'YLim'));
% Enforce boundary constraint function using setPositionConstraintFcn
setPositionConstraintFcn(h,fcn);
setColor(h,'r');
setString(h,'Point label');

例 2

点を対話形式で配置します。wait を使用して MATLAB コマンド ラインをブロックします。MATLAB コマンド ラインの実行を再開するには、点をダブルクリックします。

figure, imshow('pout.tif');
h = impoint(gca,[]);
position = wait(h);

ヒント

image オブジェクトを含んでいる axes で impoint を使用し、ドラッグ制約関数を指定しない場合、イメージの範囲外に点をドラッグすると、それが失われることがあります。関数 plot で作成した座標軸で使用すると、座標軸の範囲は点の動きに合わせて自動的に拡張されます。

R2006a より前に導入

この情報は役に立ちましたか?