将窗口保存到图像文件

时间:2013-02-28 03:05:04

标签: python wxpython jpeg

我正在阅读“wxpython in action”,并在书中找到了一个paintwindow演示。它使用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

1 个答案:

答案 0 :(得分:0)

我写了一篇关于如何在不久前使用wxPython截取应用程序截图的教程:http://www.blog.pythonlibrary.org/2010/04/16/how-to-take-a-screenshot-of-your-wxpython-app-and-print-it/

您可能不需要整个窗口,因此您可能需要计算面板的大小或图纸相对于框架两侧的尺寸。但是该示例中的其余代码应该可以帮助您入门。