Comment copier une image de la toile dans le presse-papier?
Question
J'ai de la toile Tkinter et une image de lignes et de texte dessus. Existe-t-il un moyen simple de le copier dans un presse-papiers?
La solution
Vous pouvez utiliser .postscript
méthode du canevas pour obtenir une représentation du contenu en PostScript encapsulé (EPS). Ensuite, utilisez les liaisons Python de ImageMagick ( PythonMagick ou PythonMagickWand ) pour convertir le fichier EPS en métafichier amélioré Windows (EMF). Enfin, copiez-le dans le presse-papiers (par exemple, en utilisant la solution de nosklo ) avec le CF_ENHMETAFILE . format.
Autres conseils
Pour utiliser le presse-papiers de Windows, vous devez convertir les données d'image dans un format accepté par win api. Ensuite, utilisez simplement cette fonction:
import win32clipboard
def send_to_clibboard(clip_type, data):
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardData(clip_type, data)
win32clipboard.CloseClipboard()
Où type de clip
peut être win32clipboard.CF_BITMAP
, win32clipboard.CF_TIFF
ou plusieurs autres.