ホームページ  >  記事  >  バックエンド開発  >  Python バッチは任意のサイズの画像を生成します

Python バッチは任意のサイズの画像を生成します

高洛峰
高洛峰オリジナル
2017-02-27 16:50:511923ブラウズ

効果を達成する

ソース画像を使用して、現在の作業ディレクトリの /img ディレクトリに 1*1 から 1000*1000 ピクセルまでの画像を 1000 枚生成します。

効果は次のとおりです:

Python バッチは任意のサイズの画像を生成します
ディレクトリ構造

実装例

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

注: このプロジェクトは PILコード>ライブラリ。 <code>PIL库。

在这里,我们使用resize函数。

与大多数脚本库一样,resize函数也支持链式调用。先通过resize((size, size), Image.ANTIALIAS)指定大小与质量,其中对于参数二:

参数值  含义
Image.NEAREST 低质量
Image.BILINEAR 双线性
Image.BICUBIC  三次样条插值
Image.ANTIALIAS 高质量

最终调用save("img/png_%d.png" % size)

ここでは、resize 関数を使用します。

ほとんどのスクリプト ライブラリと同様に、resize 関数もチェーン呼び出しをサポートします。まず、resize((size, size), Image.ANTIALIAS) を通じてサイズと品質を指定します。パラメータ 2 は:

パラメータ値 意味
Image.NEAREST 低品質
Image.BILINEAR バイリニア
Image.BICUBIC 3 次スプライン補間
Image.ANTIALIAS 高品質

最後に、save("img/png_%d.png" % size) メソッドを呼び出して、指定された形式で指定された場所に書き込みます。

さらに、線形集中型の操作が多数あることを考慮して、マルチスレッド同時実行性が使用されます。


結論🎜🎜🎜🎜上記は、Python を使用して任意のサイズの画像をバッチ生成する方法についてのすべてであり、Python を学習して使用するすべての人に役立つことを願っています。 🎜🎜任意のサイズの画像の Python バッチ生成に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。 🎜🎜🎜🎜

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。