ホームページ > バックエンド開発 > Python チュートリアル > PIL を使用してアスペクト比を維持しながら画像のサイズを変更するにはどうすればよいですか?

PIL を使用してアスペクト比を維持しながら画像のサイズを変更するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-08 03:51:12
オリジナル
233 人が閲覧しました

How Can PIL Be Used to Resize Images While Preserving Aspect Ratio?

PIL を使用したアスペクト比を維持した画像のサイズ変更

サムネイルを生成したり画像を再スケーリングしたりする場合、画像の忠実性を維持するにはアスペクト比を維持することが重要です。 PIL は、幅と高さの寸法を動的に調整しながらこれを実現する簡単な方法を提供します。

アスペクト比を維持しながら PIL で画像のサイズを変更するには、次の手順に従います:

  1. 最大サイズを定義します: サイズ変更された画像の幅と長さの観点から希望の最大サイズを決定します。 height.
  2. サイズ変更率の計算: 最大幅を元の画像の幅で割った値と、最大高さを元の画像の高さで割った値の間の最小値を取得して、サイズ変更率を計算します。この比率により、画像が比例してサイズ変更されます。
  3. 新しいサイズの計算: 元の画像サイズにサイズ変更比率を乗算して、新しい画像サイズを計算します。

便宜上、PIL では、アスペクト比を維持しながら画像のサイズを変更するために特別に設計されたメソッド Image.thumbnail を提供しています。以下は PIL ドキュメントの例で、Image.thumbnail を使用してサムネイルを作成する方法を示しています。

import os, sys
import Image

size = 128, 128

for infile in sys.argv[1:]:
    outfile = os.path.splitext(infile)[0] + ".thumbnail"
    if infile != outfile:
        try:
            im = Image.open(infile)
            im.thumbnail(size, Image.Resampling.LANCZOS)
            im.save(outfile, "JPEG")
        except IOError:
            print "cannot create thumbnail for '%s'" % infile
ログイン後にコピー

この例では、Image.thumbnail を使用して入力画像のリストからサムネイルを作成し、その縦横比を維持する方法を示します。最終的なサイズが指定された寸法内に収まるようにしながら、比率を調整します。

以上がPIL を使用してアスペクト比を維持しながら画像のサイズを変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート