Kann python-Holen Sie sich den Screenshot von einem bestimmten Fenster?
So bin ich zum Beispiel läuft ein java-Programm. Kann ich python verwenden, um die Inhalte(screenshot) von diesem java-Programm? Nicht der ganze Bildschirm, nur das java-Programm.
Habe ich gesehen, dass dieses Modul, aber es erfordert einen parameter ", wo das Programm-Fenster":
import pyscreenshot as ImageGrab
if __name__ == "__main__":
# part of the screen
im=ImageGrab.grab(bbox=(10,10,510,510)) # X1,Y1,X2,Y2
im.show()
#-#
Aber das kann nicht sein, was ich Suche, da es erfordert die bounding_box.
Sie könnte erkennen, was Fenster, das Sie aufnehmen möchten, und finde es ist die Höhe, Breite und coords...
Vielen Dank für deine Idee. Aber wie? Ich ursprünglich dachte, es gibt vielleicht eine Methode, die ich bieten kann ein Fenster Titel oder Programm-ID
Vielen Dank für deine Idee. Aber wie? Ich ursprünglich dachte, es gibt vielleicht eine Methode, die ich bieten kann ein Fenster Titel oder Programm-ID
InformationsquelleAutor Cuo Show | 2016-11-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es mehrere Möglichkeiten, das zu tun. Der code für diese änderungen erforderlich sind, basierend auf Ihren Bedürfnissen, so werde ich einige Verweise auf die high-level-Methoden und-Bibliotheken:
Können Sie direkt verwenden, GUI-Automatisierung-tools, wie
Pyautogui
zu drückenAlt
+PrntScreen
und übertragen Sie die Daten aus der Zwischenablage in eine variable (http://pyautogui.readthedocs.io/en/latest/keyboard.html#keyboard-keys)Können Sie pywin32 und PIL zu greifen, das Bild von einem bestimmten Fenster (Wie man ein Fenster-oder Vollbild-Screenshot von Python 3k? (ohne PIL))
Können Sie imagemagik zu packen screenshots von einem Fenster (https://www.imagemagick.org/discourse-server/viewtopic.php?t=24702)
Können Sie
Pyautogui.locateOnScreen(“Sceenshot.PNG”) to find the tuple which will contain the boundaries of the window for your java app. Then you can pass it to your function
img.ImageGrab.grab(bbox)`InformationsquelleAutor alpha_989