首先,关于 SO copy image to clipboard in python 的问题导致回答 Write image to Windows clipboard in python with PIL and win32clipboard? ,这只适用于 Python 2.x。 – 我试过了,没用。我克服了一个问题: StringIO 和 cStringIO 模块在 Python 3.0: 中消失了,但遇到了另一个问题:
TypeError: string argument expected, got 'bytes'
因此,再次针对 Python 3 再次提出相同的问题——How to copy image to clipboard in Python 3?这是我到目前为止的代码:
from io import StringIO
import win32clipboard
from PIL import Image
def send_to_clipboard(clip_type, data):
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardData(clip_type, data)
win32clipboard.CloseClipboard()
filepath = 'image.jpg'
image = Image.open(filepath)
output = StringIO()
image.convert("RGB").save(output, "BMP")
data = output.getvalue()[14:]
output.close()
send_to_clipboard(win32clipboard.CF_DIB, data)
谢谢
原文由 xpt 发布,翻译遵循 CC BY-SA 4.0 许可协议
我确实复制了代码并将 StringIO 替换为 BytesIO 并且它起作用了! (带有 *.jpg 和 *.png 文件)非常感谢!