我正在为 iPhone 制作一个摄影应用程序,并将使用 OpenGL 对图像应用效果。现在我有点像 OpenGL 菜鸟,想知道有没有办法构建一个可以轻松反转的过滤器(饱和度和模糊)?
解释一下,用户拍了一张照片,然后应用了 5 的模糊和 3 的饱和度(任意值),然后返回并将其降低为 3 的模糊和 2 的饱和度,结果是否相同如果他给原始图像赋予了 3 的模糊度和 2 的饱和度?
保存原始图像并将过滤器更改存储为一组指令,您可以在以后重播这些指令。这也将为您提供选择性撤消能力。
非破坏性编辑与 API 无关,您可以使用 OpenGL 或软件或任何东西来实现它,您真正需要做的就是保留源数据而不是覆盖它。您甚至可以将“历史记录”推回磁盘以避免膨胀 ram 和 gpu 内存。
从您的问题的上下文来看,我可以假设您正在使用苹果为其 API 提供的一些开箱即用的功能,在这种情况下,您依赖于库存实现,因此您会被它的破坏性行为,直到你自己想出更好的东西。