Вниз
Скачать: CL | DM;

Реализация отмена-повтор последних действий   Найти похожие ветки 

 
debuger ©   (2002-10-20 13:58) [0]

Никто не знает как в Фотошопе реализована отмена-повторение последних действий? Неужели сохраняется все придыдущие картинки в файл на диске?


 
MJH ©   (2002-10-20 14:11) [1]

ага...только не картинки, а последовательность действий


 
debuger ©   (2002-10-20 14:15) [2]

А если это заливка? А если ластик? И строить картинку по объектам?


 
Anatoly Podgorestky ©   (2002-10-20 14:22) [3]

Есть еще один метод, не отменять, а повторять с начала, но для растровой графики может оказаться накладныи


 
debuger ©   (2002-10-20 14:30) [4]

Anatoly Podgorestky
Спасибо.
В векторном редакторе я делаю очень просто. Я строю список объектов. Создается класс фигуры. От нее наследуется все остальные классы (квадраты, элипсы, прямые, и т.д.). И достаточно воспроизвести список то определенного кол-ва действий, и все само сабой отменится.
В растровой же графике можно конечно работать с тем же списком объектов, но некоторые специфичные растровые дейстия, такие как ластик, заливка, вырезание фрагмента (в который могут попасть части объектов) действительно реализовать не очень просто:)
В общем пока для отмен-повтора остановился на следующем. Просто сохраняю образы картинки в файл при каждом действии способным изменить картинку.


 
debuger ©   (2002-10-20 14:33) [5]

К последнему.
Конечно не сразу в файл, есть промежуточные картинки в памяти. но в общем и целом так:)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
1-4836
leonon
2003-01-23 19:52
2003.02.03
MDI и оконное меню


14-5218
Ежик
2003-01-14 21:29
2003.02.03
Отчет о эстонской встрече Мастеров Delphi


14-5132
dimich1978
2003-01-17 10:33
2003.02.03
посмеёмся


1-5033
hoper
2003-01-17 23:23
2003.02.03
CheckBox на заголовке Grid а


7-5287
maxim2
2002-11-20 12:18
2003.02.03
Как перехватить WM_CLOSE посылающееся моей проге из системы




   Наверх