How can I add UNDO functionality here

3 vues (au cours des 30 derniers jours)
Muhammet
Muhammet le 7 Août 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;

Réponse acceptée

Jan
Jan le 7 Août 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 commentaire
Jan
Jan le 7 Août 2013
I don't know. It is a good strategy to open a new thread for a new question.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Interactive Control and Callbacks dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by