Как скопировать картинку с холста в буфер обмена? - PullRequest
3 голосов
/ 19 января 2009

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

Ответы [ 2 ]

4 голосов
/ 28 января 2009

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

3 голосов
/ 19 января 2009

Чтобы использовать буфер обмена 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 или многие другие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...