2013-10-21 81 views
0

我是新來的Python,我已經試過我已經給出的示例代碼。Python圖像轉換與PIL庫

我想將批量TIFF文件轉換爲JPG格式。 TIFF大小將會是3MB或更多。我想調整我的要求寬度1200高度也是我將提供一些Ÿ

當我運行給

例如樣本代碼:

原始圖像尺寸爲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

誰是你的問題?你嘗試過什麼示例代碼?你從哪裏弄到的? – abarnert

+0

另外,作爲旁註:1200x1800不是1200高度,它是1200寬度,1800高度。 – abarnert

回答

2

由於the docs說,resize

返回此圖像的尺寸調整後的副本。

所以,這條線:

img.resize((1200,1800)) 

...不調整就地圖像時,它返回一個新的,調整大小,圖像。這是你想要保存的那個。

所以:

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

同時,任何教程或示例代碼你以下,如果它給你的代碼,你應該找到一個更好的來源。