Machen Sie Screenshots mit Python

Shikha Chaudhary 15 Februar 2024
  1. Verwenden Sie das Pyautogui-Modul, um Screenshots mit Python zu erstellen
  2. Verwenden Sie das Pillow-Modul, um Screenshots mit Python zu erstellen
  3. Verwenden Sie das Pyscreenshot-Modul, um Screenshots mit Python zu erstellen
  4. Abschluss
Machen Sie Screenshots mit Python

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.

Python-Screenshot mit Pyautogui save()-Ausgabe

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:

Python-Screenshot mit Pyautogui Numpy und OpenCV-Ausgabe

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:

Python-Screenshot mit Pillow-Ausgabe

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:

Python-Screenshot unter Verwendung der gesamten Bildschirmausgabe von Pyscreenshot

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:

Python-Screenshot mit Pyscreenshot-Bildschirmteilausgabe

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.