Как скопировать картинку с холста в буфер обмена?

StackOverflow https://stackoverflow.com/questions/457514

  •  19-08-2019
  •  | 
  •  

Вопрос

У меня есть холст Tkinter и несколько картинок с текстом. Есть ли простой способ скопировать его в буфер обмена?

Это было полезно?

Решение

Вы можете использовать .postscript . холста, чтобы получить представление содержимого в формате Encapsulated PostScript (EPS). Затем используйте ` привязки Python ImageMagick ( PythonMagick или PythonMagickWand ) преобразовать EPS в расширенный метафайл Windows (EMF). Наконец, скопируйте его в буфер обмена (например, используя решение nosklo ) с CF_ENHMETAFILE буфером обмена формат.

Другие советы

Чтобы использовать буфер обмена Windows, вы должны преобразовать данные изображения в формат, принятый win api. Затем просто используйте эту функцию:

import win32clipboard

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

Где clip_type может быть win32clipboard.CF_BITMAP, win32clipboard.CF_TIFF или многими другими.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top