Прежде всего, вопрос о SO копировать изображение в буфер обмена в python приводит к отвечу Запись изображения в буфер обмена Windows в python с PIL и win32clipboard?, что было полезно только для Python 2.x. - Я попробовал, и это не сработало. Я преодолел одну проблему: Модули StringIO и cStringIO ушли в Python 3.0:, но натолкнулись на другую:
TypeError: string argument expected, got 'bytes'
Следовательно, повторное задание того же вопроса снова для Python 3 - Как скопировать изображение в буфер обмена в 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)
Спасибо