我目前正在使用 python 和 pygame 创建一个绘画程序。我目前在程序中创建撤消/重做功能时遇到问题。我想这样做的方法是在每次用户释放鼠标后保存 Canvas 图像,但我不确定是否必须将各个图像保存在程序关闭后删除的临时文件夹中。我还了解到这种方法会影响程序的性能,所以我想知道是否还有其他方法可以更有效地工作。谢谢。
最佳答案
将副本写入文件听起来确实有点繁琐,是否需要无限撤消?我建议使用类似 pythons collections.deque 的东西作为保存最后 N 个修改的循环缓冲区,这将使您不必担心清理和磁盘存储。如果每次拍摄完整快照都会影响性能,您可能需要考虑根据用户执行的最后操作将每个保存区域限制到特定的边界框。
关于python - Python 中的绘制程序 - 撤消和重做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20827199/