Heim >Backend-Entwicklung >Python-Tutorial >Python Batch generiert Bilder beliebiger Größe
Erzielen Sie den Effekt
Generieren Sie über die Quellbilder 1000 Bilder von 1*1 bis 1000*1000 Pixel im /img-Verzeichnis des aktuellen Arbeitsverzeichnisses.
Der Effekt ist wie folgt:
Verzeichnisstruktur
Implementierungsbeispiel
# -*- coding: utf-8 -*- import threading from PIL import Image image_size = range(1, 1001) def start(): for size in image_size: t = threading.Thread(target=create_image, args=(size,)) t.start() def create_image(size): pri_image = Image.open("origin.png") pri_image.resize((size, size), Image.ANTIALIAS).save("img/png_%d.png" % size) if __name__ == "__main__": start()
Hinweis: Dieses Projekt muss auf die PIL
-Bibliothek verweisen.
Hier verwenden wir die Funktion resize
.
Wie die meisten Skriptbibliotheken unterstützen resize
-Funktionen auch verkettete Aufrufe. Geben Sie zunächst die Größe und Qualität über resize((size, size), Image.ANTIALIAS)
an, wobei für Parameter zwei gilt:
|
save("img/png_%d.png" % size) Bedeutung |
||||||||||
Image.NEAREST | Geringe Qualität | ||||||||||
Image.BILINEAR | Bilinear | ||||||||||
Image.BICUBIC | Kubische Spline-Interpolation | ||||||||||
Image.ANTIALIAS | Hohe Qualität |
Rufen Sie abschließend die Methode
auf, um im angegebenen Format an den angegebenen Speicherort zu schreiben.Angesichts der Tatsache, dass es sich um eine große Anzahl linear intensiver Vorgänge handelt, wird außerdem Multithread-Parallelität verwendet.
Fazit Das Obige dreht sich alles um die Verwendung von Python zur Stapelgenerierung von Bildern beliebiger Größe. Ich hoffe, dass es für alle hilfreich ist, es zu lernen und verwenden Sie Python.
Weitere Artikel zur Python-Batch-Generierung von Bildern beliebiger Größe finden Sie auf der chinesischen PHP-Website!