如何从剪贴板中读取图像?我可以使用wx.Clipboard
从剪贴板中读取文本,但不能使用图像。
是否可以使用wx.Clipboard
读取图像?如果没有,还有另一种方式吗?
我正在使用Python 2.5和Windows Vista 64位。
答案 0 :(得分:2)
以下适用于我(在Mac OSX上测试)
import wx
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, 'test frame',size=(790, 524))
self.Bind(wx.EVT_LEFT_DOWN, self.OnClick)
self.Bind(wx.EVT_PAINT, self.OnPaint)
self.clip = wx.Clipboard()
self.x = wx.BitmapDataObject()
self.bmp = None
def OnClick(self, evt):
self.clip.Open()
self.clip.GetData(self.x)
self.clip.Close()
self.bmp = self.x.GetBitmap()
self.Refresh()
def OnPaint(self, evt):
if self.bmp:
dc = wx.PaintDC(self)
dc.DrawBitmap(self.bmp, 20, 20, True)
if __name__ == '__main__':
app = wx.App()
frame = MyFrame()
frame.Show()
app.MainLoop()
要使用它,我运行它,当帧出现时,我使用另一个程序复制图像,然后单击wx帧,然后在其中绘制复制的图像。
答案 1 :(得分:0)
Python Imaging Library有一个ImageGrab模块可以做到这一点。这仅适用于Windows。