我正在尝试编写一个允许用户
的GUI1)按下Add Circle按钮后创建尽可能多的可拖动圆圈
我设计了如下功能。每当我点击“添加”时,它会在图像上插入固定大小的圆圈。按钮。我也计算了按钮命中数(如果我将它用作循环索引)
function Add_Callback(hObject, eventdata, handles)
% hObject handle to Add (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
diameter = 30;
handles.trap = imellipse(gca,[100, 100, diameter, diameter]);
addNewPositionCallback(handles.trap ,@(p) title(mat2str(p,3)));
fcn = makeConstrainToRectFcn('imellipse',get(gca,'XLim'),get(gca,'YLim'));
setFixedAspectRatioMode(handles.trap,'True');
setPositionConstraintFcn(handles.trap,fcn);
wait(handles.trap);
handles.count = handles.count+1
guidata(hObject, handles);
2)将它们拖动到所需位置 - 由Matlab自动完成:)
3)选择活动圈(例如set_as_Active函数) - 这是问题所在。
4)使用按钮(例如Delete_Circle)或双击(如果可能)删除用户认为不需要的那个
由于我无法选择活动圈,当我点击删除时,它会删除更新的句柄对象,并在下次出错时。
delete(handles.trap);
guidata(hObject, handles);
我使用了imellipse函数来添加可拖动的圆圈。但是,我无法更新圆圈的位置并选择所需的圆圈作为活动。我怎么能这样做?
感谢您的帮助。