Machen Sie Screenshots mit Python
- Verwenden Sie das Pyautogui-Modul, um Screenshots mit Python zu erstellen
- Verwenden Sie das Pillow-Modul, um Screenshots mit Python zu erstellen
- Verwenden Sie das Pyscreenshot-Modul, um Screenshots mit Python zu erstellen
- Abschluss
Die Programmiersprache Python ermöglicht es uns, verschiedene Aufgaben auszuführen, alles mit Hilfe einfacher Module und kurzem, auf den Punkt gebrachten Code. Das Erstellen von Screenshots mit Hilfe von Python ist eine solche Aufgabe.
Python stellt uns viele Module zur Verfügung, mit denen wir verschiedene Aufgaben ausführen können. Es gibt mehrere Möglichkeiten, einen Screenshot mit Python und seinen Bibliotheken zu erstellen.
Dieser Artikel führt Sie durch alle Schritte, die Sie befolgen müssen, um einen Screenshot mit Python zu erstellen. Lass uns anfangen!
Verwenden Sie das Pyautogui-Modul, um Screenshots mit Python zu erstellen
Der erste Ansatz verwendet das von Python bereitgestellte Modul pyauotgui
. Sie können dieses Modul mit dem folgenden Befehl im Terminalfenster installieren.
pip install pyautogui
Das Modul pyautogui
verwendet die Funktion screenshot()
, die bei der Erfassung des gesamten Bildschirms hilft. Später können Sie entweder die Funktion save()
verwenden, um das Image zu speichern, oder die Funktion imwrite()
zusammen mit den Modulen NumPy
und OpenCV
verwenden, um das Image auf die Festplatte zu schreiben.
Sehen Sie sich diese beiden Methoden im Detail an.
Verwenden Sie die Funktion save()
im Pyautogui-Modul, um Screenshots mit Python zu erstellen
Nachdem Sie das Modul pyautogui
installiert haben, können Sie am einfachsten einen Screenshot erstellen, indem Sie die Funktion screenshot()
und die Funktion save()
verwenden. Hier ist ein Beispielcode, der diese Funktionen verwendet.
Beispielcode:
import pyautogui
demo_image = pyautogui.screenshot()
demo_image.save("demo_one.jpg")
Zuerst importieren wir das Modul pyautogui
. Dann rufen wir die Funktion screenshot()
auf, die ein Bild des Bildschirms aufnimmt.
Außerdem verwenden wir in der letzten Codezeile die Funktion save()
zusammen mit dem Namen, unter dem wir das Bild speichern möchten. In diesem Fall ist das aufgenommene Bild unter dem Dateinamen demo_one.jpg
zu finden.
Unten sehen Sie das Bild, das wir als Ausgabe erhalten. Beachten Sie, dass Sie dieses Bild im selben Verzeichnis wie Jupyter Notebook oder Python finden.
Wenn Sie die Aufnahme des Bildes etwas verzögern möchten, können Sie die Funktion sleep()
des Moduls time
verwenden.
Verwenden Sie die Numpy- und Opencv-Module mit Pyautogui, um Screenshots mit Python zu erstellen
Die zweite Methode beinhaltet die Verwendung von zwei weiteren Modulen zusammen mit pyautogui
; dies sind NumPy
und OpenCV
. Wir haben die Funktion save()
verwendet, um das Bild in der ersten Methode zu speichern.
Aber hier werden wir diese beiden Module verwenden, um einen Screenshot zu machen und ihn zu speichern.
Installieren Sie Numpy
und OpenCV
, indem Sie die folgenden Befehle in das Terminal schreiben.
pip install numpy
pip install opencv-python
Hier ist der Code, den Sie verwenden müssen, sobald alle Module installiert sind.
Beispielcode:
# import the required modules
import numpy as x
import cv2
import pyautogui
# use pyautogui to take screenshot
demo_image = pyautogui.screenshot()
# use opencv and numpy to manipulate image
demo_image = cv2.cvtColor(x.array(demo_image), cv2.COLOR_RGB2BGR)
# save the image using opencv
cv2.imwrite("demo_two.png", demo_image)
Wir haben zuerst die benötigten Module importiert und dann mit der Funktion screenshot()
den Bildschirm aufgenommen. Dann haben wir das Bild in ein NumPy
-Array konvertiert und die Reihenfolge der Farben von RGB auf BGR geändert.
Dies geschieht, weil beim Lesen des Bildes durch OpenCV
die Reihenfolge der Farben BGR und nicht das Standard-RGB sein muss. Zuletzt haben wir die Funktion imwrite()
verwendet, um das Image auf die Festplatte zu schreiben.
So sieht das Ausgabebild aus.
Ausgang:
Hier ging es darum, wie man mit dem Modul pyautogui
Screenshots in Python machen kann. Jetzt fahren wir mit der nächsten Methode fort, um dasselbe zu tun.
Um mehr über das Modul pyautogui
zu erfahren, lesen Sie diese Dokumentation.
Verwenden Sie das Pillow-Modul, um Screenshots mit Python zu erstellen
Die Verwendung des pyautogui
-Moduls erfasst standardmäßig den gesamten Bildschirm. Wenn wir jedoch einen Teil des Bildschirms erfassen müssen, können wir das Pillow
-Modul verwenden.
Dieses Modul verwendet ein weiteres Untermodul namens ImageGrab
, mit dem wir die Koordinaten des gewünschten Bereichs des Bildschirms festlegen können, den wir erfassen möchten. Wir verwenden die Funktion grab()
, um diese Koordinaten anzugeben.
Hier ist der Code für diesen Ansatz.
Beispielcode:
from PIL import ImageGrab
ss_coordinates = (200, 200, 600, 600)
demo_image = ImageGrab.grab(ss_coordinates)
demo_image.save("demo_three.jpg")
Wir haben zuerst das Pillow
-Modul und das ImageGrab
-Submodul importiert. Dann legen wir einige Koordinaten für den Bildschirm fest, den wir erfassen möchten.
Außerdem haben wir die Funktion grab()
verwendet und diese Koordinaten an diese Funktion übergeben. Anschließend wird das aufgenommene Bild mit der Methode save()
gespeichert.
Dies ist der Screenshot, den wir erhalten.
Ausgang:
Im Wesentlichen können Sie auf diese Weise einen Screenshot in Python erstellen, dh indem Sie Ihre Koordinaten festlegen. Lesen Sie diese Dokumentation, um mehr über das Pillow
-Modul zu erfahren.
Verwenden Sie das Pyscreenshot-Modul, um Screenshots mit Python zu erstellen
Python stellt dieses Modul namens pyscreenshot
nur für die Aufgabe bereit, Screenshots zu machen. Um dieses Modul zu installieren, verwenden Sie den folgenden Befehl im Terminal.
pip install pyscreenshot
Verwenden Sie nach der Installation des Moduls diesen Code, um einen Screenshot des gesamten Bildschirms zu erstellen.
Beispielcode:
import pyscreenshot
image_demo = pyscreenshot.grab()
image_demo.save("demo_four.png")
Wir haben zuerst das Modul pyscreenshot
importiert und dann die Funktion grab()
verwendet, um den Bildschirm zu erfassen. Schließlich haben wir die Funktion save()
verwendet, um das Bild zu speichern.
Hier ist das Bild, das wir als Ausgabe erhalten.
Ausgang:
Wir können dieses Modul auch verwenden, um einen Teil des Bildschirms zu erfassen. Wir müssen nur die benötigten Koordinaten als Tupel an die Funktion grab()
übergeben.
Hier ist der Code zum Aufnehmen eines Screenshots eines bestimmten Bildschirmteils.
Beispielcode:
import pyscreenshot
image_demo = pyscreenshot.grab(bbox=(100, 100, 500, 500))
image_demo.save("demo_five.png")
Beachten Sie, dass wir die Koordinaten eines Teils des Bildschirms übergeben haben, den wir in der zweiten Zeile des Codes erfassen möchten. Der Rest des Codes funktioniert genauso wie der vorherige.
Hier ist das aufgenommene Bild.
Ausgang:
Beachten Sie, dass dieses Modul, pyscreenshot
, nicht mehr viel verwendet wird, und Sie sollten vorzugsweise die ersten beiden Möglichkeiten wählen, die wir besprochen haben, um einen Screenshot in Python zu erstellen. Hier geht es darum, wie Sie in Python einen Screenshot machen können.
Abschluss
In diesem Artikel wurde erläutert, wie wir Screenshots mit der Programmiersprache Python erstellen können. Wir haben gesehen, wie wir das Modul pyautogui
mit der Funktion save()
und andere Module wie NumPy
und OpenCV
verwenden können.
Wir haben auch gelernt, wie wir das Pillow
-Modul von Python verwenden können, um einen Teil des Bildschirms zu erfassen. Außerdem haben wir gesehen, wie wir das Modul pyscreenshot
verwenden können, um den gesamten Bildschirm und seinen Teil zu erfassen.