English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Einführung in Python

Flusskontrolle in Python

Python-Funktion

Python-Datentypen

Dateioperationen in Python

Objekte und Klassen in Python

Datum und Zeit in Python

Hochwertiges Wissen über Python

Python-Referenzhandbuch

Python-Programm zur Suche nach der Größe (Auflösung) von Bildern

Python-Beispiel大全

In diesem Beispiel lernen Sie, wie Sie die Auflösung eines JPEG-Bildes finden können, ohne eine externe Bibliothek zu verwenden.

Um diesen Beispiel zu verstehen, sollten Sie die folgenden verstehenPython-ProgrammierungPython-Programmierung

O-JPEG (ausgesprochen "Jay

Die meisten Dateiformate haben Header (die ersten paar Bytes), die nützliche Informationen über die Datei enthalten.

Zum Beispiel enthält der JPEG-Kopf Höhe, Breite, Anzahl der Farben (Graustufen oder RGB) und andere Informationen. In diesem Programm haben wir die Auflösung dieser Header gelesen, ohne eine externe Bibliothek zu verwenden.

Quellcode zur Suche nach der Auflösung von JPEG-Bildern

def jpeg_res(filename):
   """Diese Funktion gibt die Auflösung eines übergebenen JPEG-Bilddateiformats aus."""
   # Öffnen des Bildes im Binärbetrieb lesen
   with open(filename,'rb') as img_file:
       # Bildhöhe (in2Bytes als Einheit) im164Bits
       img_file.seek(163)
       # Lesen2Bytes
       a = img_file.read(2)
       # Berechnung der Höhe
       height = (a[0] << 8) + a[1]
       # Die nächsten zwei Bytes sind die Breite
       a = img_file.read(2)
       # Berechnung der Breite
       width = (a[0] << 8) + a[1]
   print("Die Auflösung des Bildes beträgt", width, "x", height)
jpeg_res("img1.jpg")

Ausgabeergebnis

Die Auflösung des Bildes beträgt 280 x 280

In diesem Programm haben wir das Bild im Binärbetrieb geöffnet. Nicht-textbasierte Dateien müssen in diesem Modus geöffnet werden. Die Höhe des Bildes befindet sich in der164Bits, gefolgt von der Breite des Bildes. Beide sind2Bytes lang.

Beachten Sie, dass dies nur für das JPEG-Dateiaustauschformat (JFIF)-Standard gilt. Wenn Ihr Bild mit anderen Standards (wie EXIF) codiert wird, funktioniert der Code nicht.

Wir verwenden den位移位算子 <<, um2von Bytes in eine Zahl konvertiert. Schließlich wird die Auflösung angezeigt.

Python-Beispiel大全