How can I add UNDO functionality here

3 Ansichten (letzte 30 Tage)
Muhammet
Muhammet am 7 Aug. 2013
Hello, I am creating a GUI which enables user to draw a line on image using imfreehand and the position points pixels value will be assigned to 0 so I am being able to remove overlappings of white objects on black background by hand.I want to add UNDO functionality to my program.Here my callback code is callback of TOGGLE BUTTON. I want user to cancel the last drawing (not all the things done by toggle,only last stage of while loop).How can I achieve this ? thank you for your opinions
global I
axes(handles.axes1);
while get(hObject,'value')
h=imfreehand;
setClosed(h,'false');
pos=h.getPosition();
pos=round(pos);
s=numel(pos)/2;
for p=1:s
I(pos(p+s),pos(p))=0;
end;
imshow(I);
end;

Akzeptierte Antwort

Jan
Jan am 7 Aug. 2013
You can store the the value of I before the changes. Then pressing an "undo" button can restore the global variable I and restore the display also.
  1 Kommentar
Jan
Jan am 7 Aug. 2013
I don't know. It is a good strategy to open a new thread for a new question.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Interactive Control and Callbacks finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by