How can I add UNDO functionality here

3 ビュー (過去 30 日間)
Muhammet
Muhammet 2013 年 8 月 7 日
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;

採用された回答

Jan
Jan 2013 年 8 月 7 日
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 件のコメント
Jan
Jan 2013 年 8 月 7 日
I don't know. It is a good strategy to open a new thread for a new question.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeInteractive Control and Callbacks についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by