我的代码喜欢这个,
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'
,但我确实设置了剪贴板数据。
我该怎么做?预先感谢。
在another question中,我发现了我的错误,
win32clipboard.SetClipboardData(win32con.CF_DIB,Tmp.getvalue())
代替
win32clipboard.SetClipboardData(win32con.CF_BITMAP,Tmp.getvalue()[14:])
这可能是show()
谢谢。