2013-02-28 183 views
1

我在阅读“wxpython in action”,并在书中发现了paintwindow演示。它使用cpickle(*。paint)保存其数据。我想知道如何将数据保存在窗口中作为jpg文件,因此我可以使用标准图像查看器查看它。将窗口保存为图像文件

另存为功能在书中:

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 

回答