Reputation: 3845
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?
Upvotes: 4
Views: 2796
Reputation: 400274
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.
Upvotes: 5
Reputation: 222852
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.
Upvotes: 4