0

私はPythonが初めてで、与えられたサンプルコードを試しました。

大量の TIFF ファイルを JPG に変換したい。TIFFサイズは3MB以上になります。必要な幅にサイズを変更したいのですが、高さは 1200 です。Y も提供します。

与えられたサンプルコードを実行すると

例えば:

元の画像サイズは 1748 X 2479 です

import PIL
import PIL.Image, PIL.ImageFile
from exceptions import IOError

img = PIL.Image.open("p3.tif")
img.MAXBLOCK = 2**20
destination = "x.jpeg"
img.resize((1200,1800))

try:
    img.save(destination, "JPEG", quality=10, optimize=True, progressive=True)

except IOError:
    PIL.ImageFile.MAXBLOCK = img.size[0] * img.size[1]
    img.save(destination, "JPEG", quality=10, optimize=True, progressive=True)

私が与えた値のサイズを変更しません。

4

1 に答える 1

3

ドキュメントが言うように、resize

この画像のサイズ変更されたコピーを返します。

したがって、この行:

img.resize((1200,1800))

… 画像をその場でサイズ変更せず、サイズ変更された新しい画像を返します。それはあなたが保存したいものです。

そう:

img1200 = img.resize((1200, 1800))
img1200.save(destination, "JPEG", quality=10, optimize=True, progressive=True)

それまでの間、従ったチュートリアルやサンプル コードが何であれ、このコードが提供された場合は、より良いソースを見つける必要があります。

于 2013-10-21T23:58:05.667 に答える