如何将图片从画布复制到剪贴板?

时间:2009-01-19 12:59:54

标签: python clipboard tkinter

我有一些Tkinter画布和一些线条和文字的图片。有没有一种简单的方法可以将其复制到剪贴板?

2 个答案:

答案 0 :(得分:4)

您可以使用画布的.postscript方法获取内容的Encapsulated PostScript(EPS)表示。然后,使用`ImageMagick的Python绑定(PythonMagickPythonMagickWand)将EPS转换为Windows增强型图元文件(EMF)。最后,使用nosklo's solution剪贴板格式将其复制到剪贴板(例如使用CF_ENHMETAFILE)。

答案 1 :(得分:3)

要使用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_BITMAPwin32clipboard.CF_TIFF或其他许多人。