1. ホーム
  2. python

[解決済み] PILを使用して画像のサイズを変更し、縦横比を維持するにはどうすればよいですか?

2022-03-18 19:23:19

質問

私が見逃している明白な方法があるのでしょうか? サムネイルを作りたいだけなんです。

解決方法は?

最大サイズを定義します。 次に、リサイズ率を計算する。 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.ANTIALIAS)
            im.save(outfile, "JPEG")
        except IOError:
            print "cannot create thumbnail for '%s'" % infile