- Y a-t-il des bibliothèques qui peuvent être utilisées pour écrire une capture d'écran en Python?
- Peut-il être conçu pour être multi-plateforme?
- Est-il possible de capturer à la vidéo? Et si cela pouvait être en temps réel?
- Ou serait-il possible de générer directement des films flash?
Répondre
Je ne connais aucune bibliothèque à usage général. Je l'ai fait pour Windows et utilisé du code codeproject.com dans une DLL, appelée à partir de ctypes.
La capture vidéo est probablement plus difficile; J'ai pris des captures d'écran très rapidement en utilisant le trivial codeproject et j'ai peut-être obtenu 8fps. Si cela ne suffit pas, vous aurez probablement besoin d'une bibliothèque optimisée pour votre cas d'utilisation; par exemple. tightVNC ou CamStudio ou quelque chose. CamStudio peut exporter le flash et est OSS.
capture d'écran peut être fait avec PIL thanks to the ImageGrab module
Pour générer des films Flash, vous pouvez jeter un oeil à ming. Je ne suis pas sûr qu'il a cette capacité, mais ça vaut le coup d'oeil.
Une façon de capturer une vidéo de l'écran de l'utilisateur (certainement pour X11, pas sûr de Windows) est d'utiliser gstreamer avec le ximagesrc plugin. Il existe des liaisons Python disponibles here, bien que je n'ai jamais utilisé gst-python auparavant. Je sais Istanbul, une application de screencasting open source, l'utilise - voir sa source pourrait vous aider.
Pour capturer des images statiques, j'ai déjà utilisé PyGTK sous Linux pour capturer l'écran de l'utilisateur. Cela devrait également fonctionner sur Windows et Mac, même si je ne l'ai pas essayé. Voici un petit extrait:
import gtk
win = gtk.gdk.get_root_window()
width, height = win.get_size()
pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, width, height)
pb = pb.get_from_drawable(window, window.get_colormap(), 0, 0, 0, 0, width, height)
pb.save('path to file', 'png')
See the GTK docs pour plus d'informations.
Espérons que ça aide!
vous pouvez essayer cela aussi peut-être que cela URL peut vous aider.
son castro !!! voir l'exemple de code ci-dessous peut être utile ....
>>> from castro import Castro
>>> c = Castro()
>>> c.start()
>>> # Do something awesome!
>>> c.stop()
J'ai écrit un outil de capture d'écran multi-plateforme dans wxPython. Voir le téléchargement "GeneralScreenShotWX.py" dans le sous-thème "Une application de capture d'écran flexible" sous le sujet "WorkingWithImages" @http://wiki.wxpython.org/WorkingWithImages#A_Flexible_Screen_Capture_App.
Il fonctionne sur MSW, OS X et une distribution Linux et ne nécessite aucun paquet wxPython supplémentaire.
Je suppose que tous les moyens possibles pour prendre des captures d'écran contrôlées Python sont couvertes à https://github.com/ponty/pyscreenshot
- 1. Écrire un décorateur TTL en Python
- 2. Écrire un serveur basé sur socket en Python, stratégies recommandées?
- 3. Comment écrire un indicateur de progression de téléchargement en Python?
- 4. Écrire au fichier UTF-8 en Python
- 5. Écrire des tests unitaires pour restaurer en Python
- 6. Comment écrire un caractère newline natif dans un descripteur de fichier en Python?
- 7. Comment faire pour écrire un wrapper API Python?
- 8. Comment écrire un Tilde normal (~) en C#?
- 9. Écrire un fichier GIF en Java
- 10. Écrire un preg_replace simple en PHP
- 11. Comment suivre un objet animé en Python?
- 12. En Python, comment transformer une chaîne en un fichier?
- 13. écrire un BitSet dans un fichier en Java
- 14. Comment emballer un programme CLI en Python (en gardant l'interactivité)?
- 15. Python PIL: comment écrire l'image PNG à la chaîne
- 16. Comment écrire un fichier setup.py pour un programme dépendant de packages en dehors de pypi
- 17. Comment écrire l'esperluette dans un nœud attribué?
- 18. Belles décoratrices en python
- 19. Comment écrire des données binaires dans stdout dans python 3?
- 20. utilisateur apache ne peut pas écrire .python-oeufs
- 21. Comment écrire cela en SQL?
- 22. Presses clés en Python
- 23. Comment écrire Strategy Pattern en Python autrement que par exemple dans Wikipedia?
- 24. Comment écrire un logiciel déployable?
- 25. Écrire un plugin Firefox/Netscape
- 26. Écrire un script python tail -f qui n'utilise pas 100% CPU
- 27. Comment filtrer un fichier en utilisant un modèle dans un autre fichier en utilisant Python?
- 28. Comment écrire un serveur HTTP python pour écouter sur plusieurs ports?
- 29. Écrire des pilotes en C#
- 30. Écrire un jeu de cartes
PIL est très bien, mais malheureusement, le module ImageGrab ne peut être utilisé sous Windows, en fonction de leurs documents. –