[问题] 类似photo shop 上一步、下一步做法

楼主: milk78522 (iMetal)   2014-07-19 13:05:55
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
C++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
Qt
问题(Question):
想做出跟photoshop 一样对影像做完处理后,
可以回到上一步以及下一步的功能
但是却不知道要用什么资料结构比较适合
而可回复的步数是固定的,好比说限制最多五步
有想过是不是可以用两个stack : S,T
每做一次影像处理后的结果就push 到 S, 而显示在画面上的永远是S顶端的资料
当作上一步的时候,将S pop,且把pop出来的Data push 到 T
若是做下一步就将T pop,并依序push到 S中
若是T非空而作了新的影像处理,则将T flush掉
作者: azureblaze (AzureBlaze)   2014-07-19 13:07:00
deque
作者: flydragon198 (Richard)   2014-07-19 13:27:00
应该不是纪录整张图,而是记录作了什么,undo就反操作吧,我猜
作者: damody (天亮damody)   2014-07-19 14:48:00
Command pattern 选我正解
作者: suhorng ( )   2014-07-19 15:19:00
any persistent data structures!
作者: yoco315 (眠月)   2014-07-19 15:52:00
acureblaze 跟 damody 讲的对,用 deque 放 Command
作者: xpride (陈ㄚ智)   2014-07-19 16:42:00
design pattern 里面的memento 参考看看
作者: littleshan (我要加入剑道社!)   2014-07-21 23:47:00
你的问题好像不是怎么undo,而是怎么做有限空间的stack用linked list或circular buffer都很简单啊...

Links booklink

Contact Us: admin [ a t ] ucptt.com