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

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

私が見逃している、これを行うための明白な方法はありますか? サムネイルを作成しようとしているだけです。

ベストアンサー1

最大サイズを定義します。次に、 を取ってサイズ変更比率を計算しますmin(maxwidth/width, maxheight/height)

適切なサイズは ですoldsize*ratio

もちろん、これを行うためのライブラリメソッドもあります。メソッドです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

おすすめ記事