Moyen le plus rapide pour prendre une capture d'écran avec python sur windows
Quel est le moyen le plus rapide pour prendre une capture d'écran sur windows? PIL.ImageGrab
est plutôt lent.. il faut entre 4 à 5 secondes à 30 captures d'écran de la même petite fenêtre. Prendre des captures d'écran de l'ensemble du bureau est encore plus lente.
Comme t'as vraiment envie d'écran sont des vidéos, de la CamStudio sur le site de Sourceforge. Ce qui est le cas d'utilisation?
pour obtenir le score le plus élevé jamais sur winterbells =P
pour obtenir le score le plus élevé jamais sur winterbells =P
OriginalL'auteur Claudiu | 2010-08-27
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser les Api win32 directement .
1) d'Abord, donner le focus à l'Application que vous voulez prendre une capture d'écran.
texte du lien
2) API Win32 peut aider à la capture d'écran:
dcObj.DeleteDC(); cDC.DeleteDC(); win32gui.ReleaseDC(hwnd, wDC)
S'il vous plaît ajouter le les importations nécessaires pour que ce code fonctionne.
Voir ce script pour plus de détails: bytes.com/topic/python/answers/...
Comme un suivi de @Claudiu commentaire (qui est en effet nécessaire, comme il le remarque), j'ai trouvé
win32gui.DeleteObject(dataBitMap.GetHandle())
également nécessaire. J'ai édité la réponse à inclure à la fois des commentaires.pour obtenir la poignée de la fenêtre: support.microsoft.com/kb/124103?wa=wsignin1.0
OriginalL'auteur pyfunc
Viens de trouver comment le faire avec gtk. Semble plus rapide et de loin:
Sans avoir à les convertir à un
PIL
Image, c'est 8x plus rapide que la LIP sur mon cas de test. Avec la conversion, c'est toujours ~2,7 x plus rapide.OriginalL'auteur Claudiu