Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.03;
Скачать: 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 вся ветка

Текущий архив: 2003.02.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
3-4775
Chery
2003-01-16 17:58
2003.02.03
Как в добавлять и просматривать записи.


1-4922
KDenis
2003-01-26 01:55
2003.02.03
Ищу ответы по работе с Excel


6-5109
LebAlex
2002-12-07 08:10
2003.02.03
Как заблокировать порт (socket)


7-5312
Shtock
2002-11-26 11:08
2003.02.03
инициализация модема


1-5008
Brain
2003-01-23 15:51
2003.02.03
Если нет procedure Paint;