Maison >développement back-end >Tutoriel Python >Le lot Python génère des images de n'importe quelle taille

Le lot Python génère des images de n'importe quelle taille

高洛峰
高洛峰original
2017-02-27 16:50:511983parcourir

Obtenir l'effet

Générer 1000 images de 1*1 à 1000*1000 pixels dans le répertoire /img du répertoire de travail actuel via les images source.

L'effet est le suivant :

Le lot Python génère des images de nimporte quelle taille
Structure du répertoire

Exemple d'implémentation

# -*- 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()

Remarque : ce projet doit faire référence à la bibliothèque PIL.

Ici, on utilise la fonction resize.

Comme la plupart des bibliothèques de scripts, la fonction resize prend également en charge les appels chaînés. Spécifiez d'abord la taille et la qualité via resize((size, size), Image.ANTIALIAS), où pour le paramètre deux :

tbody>
参数值  含义
Image.NEAREST 低质量
Image.BILINEAR 双线性
Image.BICUBIC  三次样条插值
Image.ANTIALIAS 高质量
Valeur du paramètre

save("img/png_%d.png" % size)Signification
Image.NEAREST Faible qualité
Image.BILINEAR Bilinéaire
Image.BICUBIC Interpolation spline cubique
Image.ANTIALIAS Haute qualité

Enfin, appelez la méthode

pour écrire à l'emplacement spécifié dans le format spécifié.

De plus, étant donné qu'il s'agit d'un grand nombre d'opérations linéairement intensives, la concurrence multithread est utilisée.

Conclusion

Ce qui précède est tout le contenu de l'utilisation de Python pour générer par lots des images de n'importe quelle taille. J'espère que cela sera utile à tout le monde. pour apprendre et utiliser Python.


Pour plus d'articles liés à la génération par lots Python d'images de toute taille, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn