我正在制作iPhone的摄影应用程序,并将使用OpenGL将效果应用于图像。现在我有点像OpenGL菜鸟,并且想知道有没有办法建立一个可以轻松逆转的滤波器(饱和度和模糊)?
为了解释,用户拍摄照片,然后应用5的模糊和3的饱和度(任意值),但然后返回并将其调低为模糊3和饱和度2,结果就像他给原始图像模糊3和饱和度2?
一样答案 0 :(得分:0)
保存原始图像并将过滤器更改存储为一系列指令,您可以在以后重播这些指令。这也将为您提供选择性撤消能力。
答案 1 :(得分:0)
您无法重做模糊等过滤器。这样的过滤器会丢失一些有关图像的信息,因此很难将其取回。请参阅discussion here。
使用OpenGL(或任何其他Api),您可以轻松地将过滤器应用为“后处理”效果。只需将纹理四边形渲染到某个渲染目标,然后将变换后的图像作为输出。 这是link to oZone3D如何做到这一点。
您可以保存创建的输出(但是可以保存其他文件名!)。
答案 2 :(得分:0)
非破坏性编辑与API无关,您可以使用OpenGL或软件或其他任何方式实现它,您真正需要做的就是保留源数据而不是覆盖它。您甚至可以将“历史记录”推回到磁盘,以避免膨胀ram和gpu内存。
从您的问题的上下文中我可以假设您正在使用Apple为其API提供的一些开箱即用的即用型功能,在这种情况下,您依赖于库存实现,因此您坚持其破坏性行为,直到你自己想出更好的东西。