Prima di tutto, la domanda su SO copy image to clipboard in python porta a rispondere a Write image to Windows clipboard in python with PIL and win32clipboard?, che andava bene solo per Python 2.x. - L'ho provato e non ha funzionato. Ho superato un problema: StringIO and cStringIO modules are gone in Python 3.0:, ma imbattei in un altro:Copia l'immagine negli appunti in Python3
TypeError: string argument expected, got 'bytes'
Quindi, nuovamente la stessa domanda ancora per Python 3 - Come copiare un'immagine negli appunti in Python 3? Qui è il codice che ho finora:
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)
Grazie
Testato su Windows 7 con cuscino e PyWin32 219 e ha funzionato bene con BytesIO –
@MikeDriscoll: Grazie per la conferma. Rimuoveremo la lingua qualificata. – ShadowRanger