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

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

Susan Sarandon
リリース: 2024-12-11 08:26:09
オリジナル
789 人が閲覧しました

How to Resize Images with PIL While Maintaining Aspect Ratio?

アスペクト比を維持しながら PIL を使用して画像のサイズを変更する

サムネイルを作成する場合、画像の元のアスペクト比を維持することが重要な場合があります。この記事では、Python Imaging Library (PIL) を使用してこれを実現する方法について説明します。

アプローチ:

  1. 最大サイズを定義する: 必要な最大幅と高さを決定します。
  2. サイズ変更率の計算: maxwidth/width と maxheight/height の小さい方の比率を見つけて、最小スケーリング率を計算します。
  3. 新しいサイズの計算: 元のサイズに計算された比率を乗算して、 thumbnail.

PIL ライブラリを使用した代替方法:

PIL は、この目的のために特別に設計された Image.thumbnail() メソッドを提供します。最大サイズを引数として受け取り、アスペクト比を維持しながら画像サイズを自動的に調整します。

PIL ドキュメントの例を次に示します。

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
ログイン後にコピー

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

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