Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


debuger ©   (2002-10-20 13:58:00) 

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


debuger   (2002-10-20 14:33:00) [1]

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


debuger   (2002-10-20 14:30:00) [2]

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


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

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


debuger   (2002-10-20 14:15:00) [4]

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


MJH   (2002-10-20 14:11:00) [5]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо