图像编辑实现允许撤消和继续编辑像Instagram

时间:2015-03-06 12:02:14

标签: ios image instagram core-image

我正在编写一个iOS图像编辑应用程序。假设有几种工具可以应用到图像上,例如滤镜,模糊,晕影。天真的方法如下:每次应用工具时,旧图像将被新图像替换,下一个工具将应用于新图像,就好像它是初始图像一样。

但是,这种方法不允许用户编辑中间工具的参数。

例如,给定图像A,并且用户将具有参数P1的工具T1,T2与P2,T3连续地应用于P3。现在他不可能改变P1。

请注意,Instagram iOS应用程序支持编辑中间参数,所以我想知道如何实现它?

我可以提出以下方法:

存储应用于图像的工具链,每次我们从初始图像计算结果图像。

但是,我认为这是非常低效的。

所以有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您可以将几个中间版本准备好进行恢复,并仅用于执行快照后执行的编辑,而不是保存一个原始图像。根据编辑操作的数量以及是否要支持保存工作区以及以后能够加载它,您可能希望实现用户可以快速回滚到的此类中间图像版本的后台创建。此类状态的数量和位置取决于可用资源以及是否显示编辑列表,并允许用户跳转到之前的任何状态。