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 回答