Heim  >  Artikel  >  Backend-Entwicklung  >  Verwenden Sie Python, um Bilder beliebiger Größe stapelweise zu generieren

Verwenden Sie Python, um Bilder beliebiger Größe stapelweise zu generieren

高洛峰
高洛峰Original
2017-01-14 13:17:381354Durchsuche

Erzielen Sie den Effekt

Verwenden Sie das Quellbild, um 1000 Bilder im Verzeichnis /img des aktuellen Arbeitsverzeichnisses im Bereich von 1*1 bis 1000*1000 Pixel zu generieren.

Der Effekt ist wie folgt:

Verwenden Sie Python, um Bilder beliebiger Größe stapelweise zu generieren

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: Das Projekt muss auf die PIL-Bibliothek verweisen.

Hier verwenden wir die Größenänderungsfunktion.

Wie die meisten Skriptbibliotheken unterstützt die Größenänderungsfunktion 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:

Verwenden Sie Python, um Bilder beliebiger Größe stapelweise zu generieren

Abschließend save("img/png_%d aufrufen .png" (% Größe)-Methode schreibt den angegebenen Speicherort im angegebenen Format.

Angesichts der Tatsache, dass es sich um eine große Anzahl linear intensiver Vorgänge handelt, wird außerdem Multithread-Parallelität verwendet.

Fazit

Beim Oben geht es um die Verwendung von Python zur Stapelgenerierung von Bildern beliebiger Größe. Ich hoffe, dass es für alle beim Erlernen und Verwenden von Python hilfreich ist.

Weitere Artikel zur Verwendung von Python zur Stapelgenerierung von Bildern beliebiger Größe finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn