【发布时间】:2013-01-30 04:31:13
【问题描述】:
我正在开发一个扭曲图像的 android 应用程序。我正在使用 opengl 翻译和缩放功能来扭曲图像。图像扭曲得很好。现在我想实现撤消功能。但无法实现该功能。任何一个可以帮助如何在 opengl 中实现撤消功能。任何建议或代码都会有所帮助。 提前致谢 。
【问题讨论】:
-
这与OpenGL无关。 OpenGL 只绘制您告诉它绘制的内容。任何撤消功能都是关于将您告诉它绘制的内容更改为以前的内容。
-
@NicolBolas 实际上我在手指触摸时扭曲了图像。图像缩小或膨胀。问题是,我应该存储什么以及如何在视图中反映它。
-
我相信您应该在每次触摸开始时存储当前图像。然后当撤消完成时,只需删除当前图像并将其替换为队列中的最后一个图像。使用opengl可以反转一些操作,但我认为您不应该在这里使用这些功能。只需存储原始和您用手指执行的每个操作,或每个步骤的图像。
-
看看带有undo的命令设计模式:stackoverflow.com/questions/3448943/…
-
如果您使用三角带,我将使用 Ray Tayek 上面描述的命令设计模式存储当前矩阵。