使用wxPython从剪贴板读取图像

2024-09-27 18:08:04 发布

您现在位置:Python中文网/ 问答频道 /正文

如何从剪贴板上读取图像?我可以使用wx.Clipboard从剪贴板读取文本,但不能读取图像。在

是否可以使用wx.Clipboard读取图像?如果没有,还有别的办法吗?在

我使用的是python2.5和windowsvista64位。在


Tags: 图像文本wx剪贴板办法clipboardwindowsvista64
2条回答

以下对我有用(在macosx上测试)

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帧,这将导致复制的图像在其中绘制。在

Python图像库有一个ImageGrab模块,可以完成这项工作。这仅适用于windows。在

相关问题 更多 >

    热门问题