如何使用PIL.Imagegrab.grab图像复制到剪贴板并显示它们?

问题描述 投票:0回答:1

我的代码喜欢这个,

from PIL.Imagegrab import grab
from PIL.Imagegrab import grabclipboard
OneImage = grab((x1,x2,y2,y3))

我想将OneImage复制到剪贴板并显示它们。因此可以使用grabclipboard().show()

我尝试使用win32clipboard执行此操作。这样,

from io import BytesIO
from PIL.ImageGrab import grabclipboard,grab
import win32clipboard,win32con
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
Tmp = BytesIO()
OneImage = grab((Click_x,Click_y,Release_x,Release_y))
OneImage.save(Tmp,format='bmp')
win32clipboard.SetClipboardData(win32con.CF_BITMAP,Tmp.getvalue())
win32clipboard.CloseClipboard()
grabclipboard().show()

错误信息是这个,AttributeError: 'NoneType' object has no attribute 'show',但我确实设置了剪贴板数据。

我该怎么做?预先感谢。

python-3.x python-imaging-library
1个回答
0
投票

another question中,我发现了我的错误,

win32clipboard.SetClipboardData(win32con.CF_DIB,Tmp.getvalue())

代替

win32clipboard.SetClipboardData(win32con.CF_BITMAP,Tmp.getvalue()[14:])

这可能是show()谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.