0

如何在图像处理中进行 UNDO 动作?如果我要更改图像位置(调整大小、旋转、3D 变换)然后单击 UNDO 按钮,我想要图像的先前状态。怎么做?请提供示例源代码或对此提供一些想法。提前致谢。

4

2 回答 2

0

实现可撤销操作的常用方法是在每次操作后存储状态。所以,在这种情况下,你可以

  1. 存储图像的每个版本。这在内存方面效率极低。
  2. 存储每个变换步骤;当要撤消一个变换时,您只需将变换的逆应用于图像。这是一种优选的方法。
于 2012-09-21T11:26:08.627 回答
0

NSDictionary所有effects提供/或可以与您一起应用editor

  1. 存入NSDictionary一个NSMutableArraywith[lastEffectArray addObject:effectDictionary];
  2. 如果用户按下 UNDO,则从配对加载和应用effectDictionary效果。在这里,您可以做两件事:lastEffectArraykey/value

可以将Removelast effectDictionaryobject from lastEffectArrayor, Addit for REDO action放到其他数组中。

effectDictionary应该存储可以使用或应用到您的editor. 您可以制作一些易于使用的功能来应用/删除效果!!!

最后,不要忘记[release]所有效果数组和字典。

注意,这不是一个解决方案,但可以用自己的创新逻辑来实现。

于 2012-09-21T11:41:06.273 回答