我正在尝试使用Pygame在Python中创建一个小型图像编辑程序。我想存储应用正在处理的像素数组,因此我可以使用撤消/重做功能和缩放功能。我该怎么做呢?
我已经尝试将像素存储为列表中列表中的rgb值列表,如下所示:
static
但我很难相信这是最好的方式。
答案 0 :(得分:0)
在谈论undo/redo
时,请查看Command Design Pattern(python示例)。
由于您没有提供太多代码,因此基本方法可能依赖于使用您的坐标维护唯一列表。应该更改该列表的一件事是Command
,它将包含undo
和redo
方法来恢复列表状态。
<强>更新强>
我不确定我是否完全理解你想要达到的目的,但dictionary
可能会为你服务:
coords = {}
coords['y1'] = [[255,255,255],[255,0,0]] #add dynamic keys to your dictionary and fill them with the right values
如果稍后需要存储或传输您的数据,您还可以获得加分,您只需以JSON
格式获取数据,如下所示:< / p>
import json
...
json.dumps(coords) #returns the json string containing your data