0

ライブ ビデオ フィードに四角形を描画する GUI のチェックボックスがありますが、チェックを外すと四角形が消えるか削除される必要があります。誰もこれを行う方法を知っていますか?

これは私のコードです。他のものを入れてみましたが、何も機能しません。

function Box(hObject,eventdata)

if (((get(hObject,'Value') == get(hObject,'Max'))))
 % Checkbox is checked-take appropriate action
 hold on;
rectangle('Position',[50,50,100,100],'EdgeColor','r')
else
end
4

1 に答える 1

0

関数の四角形によって作成されたハンドルを保存する必要があります。次に、このハンドルを GUI の大きなハンドルに追加して、コールバックが再度呼び出されたときにアクセスできるようにします。

したがって、関数を次のように変更します

function Box(hObject,eventdata,handles)

if (((get(hObject,'Value') == get(hObject,'Max'))))
 % Checkbox is checked-take appropriate action
 hold on;
handles.rectangleSave=rectangle('Position',[50,50,100,100],'EdgeColor','r');
guidata(handles.output,handles);
else
delete(handles.rectangleSave);
end

ハンドルを使用したことがない場合は、こちらをご覧ください: http://www.matlabtips.com/on-handles-and-the-door-they-open/

handles.output は通常、ここで説明されているように大きなインターフェイス ウィンドウへのハンドルを格納します: http://www.matlabtips.com/guide-me-in-the-guide/

于 2012-05-01T06:46:54.090 に答える