-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy paththumbnails_lösung.py
executable file
·50 lines (36 loc) · 1.5 KB
/
thumbnails_lösung.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
"""
Es soll für alle Bild-Dateien in einem Verzeichnis ein Thumbnail erzeugt
werden. Die Vorschaubilder sollen eine Größe von maximal 128 Pixel besitzen
und im Namen das Wort "thumbnail" ergänzen. So würde aus der Bilddatei
"bild.jpeg" die Datei "bild.thumbnail.jpeg".
Für die Bildbearbeitung kann die Python-Bibliothek Python Imaging Library
(Pillow) verwendet werden. Diese bietet die Funktion thumbnail() speziell für
die Erstellung der Vorschaubildern.
Mögliche Erweiterungen:
Weitere Bildbearbeitungsschritte wären möglich, wie zum Beispiel die Umwandlung
in Graustufenbilder, Ausschnittsvergrößerungen, etc. (siehe [2]).
Hilfen:
* Handbuch zur Biliothek "Pillow" [1]
* Artikel von heise zur Bibliothek "Pillow für Einsteiger: So bearbeiten Sie
Bilder mit Python" [2]
Bibliotheken:
* Pillow - Python Imaging Library
pip install Pillow
Quellen:
[1] https://pillow.readthedocs.io/en/latest/handbook/index.html
[2] https://www.heise.de/ratgeber/Pillow-fuer-Einsteiger-So-bearbeiten-Sie-Bilder-mit-Python-7091653.html
"""
import os
import pathlib
from PIL import Image
verzeichnis = './bilder'
size = 128, 128
for datei in pathlib.Path(verzeichnis).glob(pattern='*'):
ausgabe_datei = os.path.splitext(datei)[0] + ".thumbnail.jpeg"
if datei != ausgabe_datei:
try:
im = Image.open(datei)
im.thumbnail(size)
im.save(ausgabe_datei, "JPEG")
except IOError:
print(f'Thumbnail für Datei {datei} konnte nicht erzeugt werden!')