使用PIL库进行Python图像转换

时间:2013-10-21 23:53:25

标签: python python-imaging-library

我是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)

它没有调整我给出的值。

1 个答案:

答案 0 :(得分:3)

正如the docs所说,resize

  

返回此图片的已调整大小的副本。

所以,这一行:

img.resize((1200,1800))

...不会就地调整图像大小,它会返回一个新的,已调整大小的图像。这就是你要保存的那个。

所以:

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

与此同时,无论您使用何种教程或示例代码,如果它给您这些代码,您应该找到更好的来源。