J'ai une toile Tkinter et quelques images de lignes et de texte. Y at-il un moyen facile de le copier dans un presse-papiers?Comment copier une photo de canvas à clipboard?
3
A
Répondre
4
Vous pouvez utiliser la méthode .postscript
du canevas pour obtenir une représentation EPS (Encapsulated PostScript) du contenu. Ensuite, utilisez les liaisons Python `ImageMagick (PythonMagick ou PythonMagickWand) pour convertir l'EPS en un métafichier Windows Enhanced (EMF). Enfin, copiez-le dans le presse-papiers (par exemple en utilisant nosklo's solution) au format CF_ENHMETAFILE.
3
Pour utiliser le presse-papiers Windows, vous devez convertir les données d'image dans un format accepté par win api. Ensuite, il suffit d'utiliser cette fonction:
import win32clipboard
def send_to_clibboard(clip_type, data):
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardData(clip_type, data)
win32clipboard.CloseClipboard()
Où clip_type
peut être win32clipboard.CF_BITMAP
, win32clipboard.CF_TIFF
ou bien d'autres.
Questions connexes
- 1. Envoyer une photo depuis un appareil photo iPhone?
- 2. Objets de liaison de données à Canvas
- 3. Comment enregistrer une référence à une photo spécifique sur l'iPhone pour la charger sans sélecteur?
- 4. Comment copier une matrice?
- 5. Comment supprimer une photo dans Facebook
- 6. Suggestions de canvas Python
- 7. Comment faire apparaître un canevas Java Canvas à partir de son conteneur
- 8. Comment copier une valeur System.Drawing.Image?
- 9. Comment afficher une photo de l'API Picasa java?
- 10. Comment enregistrer une photo dans une photothèque iPhone?
- 11. Lecture de codes à barres à l'aide d'une photo prise à l'aide d'un appareil photo de téléphone mobile
- 12. Enregistrer une photo de l'utilisateur sur l'iPhone?
- 13. Comment copier une chaîne RTF dans le presse-papiers de Delphi 2009?
- 14. Comment faire référence à Canvas dans un autre fichier XAML?
- 15. Accéder à l'appareil photo avec l'iPhone SDK
- 16. Géo-tagging une photo sur l'iPhone?
- 17. Développer une application photo ASP.NET/MVC simple, comment faire?
- 18. html5.0 canvas textfield
- 19. Comment afficher une photo vcard XMPP (Jabber) dans Delphi?
- 20. android canvas scroll
- 21. Comment puis-je prendre une photo avec mon application iPhone?
- 22. photo slider
- 23. Comment télécharger une photo sur un serveur avec l'iPhone?
- 24. Flex3 Canvas, ScrollBar
- 25. Comment copier une table mySQL verrouillée?
- 26. Comment copier une ligne dans l'éditeur XAML?
- 27. Problème de mise à l'échelle Javascript/Canvas/Images dans Firefox
- 28. Comment copier une liste dans Scala
- 29. Comment copier une image distante en python?
- 30. Javascript Canvas Flowcharting Project?
Je ne peux pas faire ce travail. Vous ne pouvez pas simplement passer des données brutes à 'SetClipboardData' - il doit s'agir d'un handle Windows, créé en utilisant les fonctions Win32' CreateBitmap' ou 'CreateEnhMetaFile'. Le paquetage win32all n'expose pas 'CreateEnhMetaFile', il ne semble donc pas possible de placer une image vectorielle dans le presse-papiers à partir de Python. Ou est-ce que je manque quelque chose? – Tom