如何在图像处理中进行撤消操作?如果我正在更改图像位置(调整大小,旋转,3D变换),然后单击撤消按钮,我想要图像的先前状态。怎么办?请提供示例源代码或对此给出一些想法。提前谢谢。
使用提供的所有effects
进行NSDictionary
/或可以应用您的editor
- 将
NSDictionary
存放在装有[lastEffectArray addObject:effectDictionary];
的NSMutableArray
中 - 如果用户按 UNDO,则加载并应用
effectDictionary
key/value
对lastEffectArray
效果。在这里,您可以做两件事:
Remove
lastEffectArray
中的最后一个对象effectDictionary
或者,将其Add
以进行重做操作到其他数组中。
您的effectDictionary
应该存储每个效果,这些效果可以使用或应用于您的editor
。您可以制作一些易于使用的功能来应用/删除效果!!
最后,不要忘记[release]
所有效果数组和字典。
请注意,这不是解决方案,但可以使用自己的创新逻辑实现。
实现可撤消操作的常用方法是在每个操作后存储状态。因此,在这种情况下,您可以
- 存储映像的每个版本。这在内存方面效率极低。
- 存储每个变换步骤;当要撤消一个变换时,只需将变换的反转应用于图像即可。这是首选方法。