「wxpythoninaction」を読んでいて、本の中でペイントウィンドウのデモを見つけました。cpickle(*。paint)を使用してデータを保存します。ウィンドウ内のデータをjpgファイルとして保存する方法を知りたいので、標準の画像ビューアで表示できます。
本のsaveas関数:
def OnSaveAs(self, event):
file_wildcard = "Paint files(*.paint)|*.paint|All files(*.*)|*.*"
dlg = wx.FileDialog(self, "save paint as ...", os.getcwd(), style=wx.SAVE|wx.OVERWRITE_PROMPT, wildcard=file_wildcard)
if dlg.ShowModal() == wx.ID_OK:
filename = dlg.GetPath()
if not os.path.splitext(filename[1]):
filename += ".paint"
self.filename = filename
self.SaveFile()
self.SetTitle(self.Title + " -- " + self.filename)
dlg.Destroy()
def SaveFile(self):
if self.filename:
data = self.paint.GetLinesData()
f = open(self.filename, "w")
cPickle.dump(data, f)
f.close