【发布时间】:2013-03-22 16:30:16
【问题描述】:
我正在尝试构建一个工具,允许用户在 GUI 窗口中创建树,使用动态创建和拖动山墙按钮作为节点。我想在我的工具中添加一个功能,允许用户以任何图片格式保存树。保存的文件无需再次加载到我的应用程序中!就像windows中的Print Screen功能一样。
我该怎么做?
提前致谢!
【问题讨论】:
我正在尝试构建一个工具,允许用户在 GUI 窗口中创建树,使用动态创建和拖动山墙按钮作为节点。我想在我的工具中添加一个功能,允许用户以任何图片格式保存树。保存的文件无需再次加载到我的应用程序中!就像windows中的Print Screen功能一样。
我该怎么做?
提前致谢!
【问题讨论】:
不需要特殊的库,您拥有抓取任何窗口的显示并保存到文件所需的一切。像这样:
1 def OnSaveToFile( self, event ):
2 context = wx.ClientDC( self )
3 memory = wx.MemoryDC( )
4 x, y = self.ClientSize
5 bitmap = wx.EmptyBitmap( x, y, -1 )
6 memory.SelectObject( bitmap )
7 memory.Blit( 0, 0, x, y, context, 0, 0)
8 memory.SelectObject( wx.NullBitmap)
9 bitmap.SaveFile( 'test.jpg', wx.BITMAP_TYPE_JPEG )
【讨论】:
如果您想截取 GUI 的屏幕截图,可以使用 Python 图像库中的 ImageGrab:http://effbot.org/imagingbook/imagegrab.htm
【讨论】: