How to copy a picture from canvas to clipboard?

前端 未结 2 888
刺人心
刺人心 2021-01-06 20:00

I have some Tkinter canvas and some picture of lines and text on it. Is there an easy way to copy it to a clipboard?

相关标签:
2条回答
  • 2021-01-06 20:36

    You could use .postscript method of the canvas to get an Encapsulated PostScript (EPS) representation of the contents. Then, use `ImageMagick's Python bindings (PythonMagick or PythonMagickWand) to convert the EPS to a Windows Enhanced Metafile (EMF). Finally, copy it to the clipboard (e.g. using nosklo's solution) with the CF_ENHMETAFILE clipboard format.

    0 讨论(0)
  • 2021-01-06 20:43

    To use windows clipboard you must convert the image data to a format accepted by win api. Then, just use this function:

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

    Where clip_type can be win32clipboard.CF_BITMAP, win32clipboard.CF_TIFF or many others.

    0 讨论(0)
提交回复
热议问题