将PIL图像复制到剪贴板(Python)

2021-02-26 15:06:11 发布

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

我用Tkinter在Python中做了一个小绘图程序,现在我想添加一个“复制”功能,这样你可以在Discord之类的应用程序中更快地按CTRL+V键绘制。这是一个测试:

def Copy():
def send_to_clipboard(clip_type, data):
    win32clipboard.OpenClipboard()
    win32clipboard.EmptyClipboard()
    win32clipboard.SetClipboardData(clip_type, data)
    win32clipboard.CloseClipboard()

x2 = fen.winfo_rootx()+Can.winfo_x()
y2 = fen.winfo_rooty()+Can.winfo_y()
x1 = x2+Can.winfo_width()
y1 = y2+Can.winfo_height()
print("save")
ImageGrab.grab().crop((x2,y2,x1,y1)).save("Image.bmp")

filepath = "Image.bmp"
image = Image.open(filepath)

output = io.BytesIO()
image.convert("RGB")
image.save(output, "BMP")
data = output.getvalue()[8:]
output.close()

send_to_clipboard(win32clipboard.CF_DIB, data)

当我试着这样做,除了我不能粘贴到油漆或不和谐。。。 否则,它就会崩溃。 有人能帮帮我吗?;—