2013-10-21 6 views
0

저는 Python을 처음 사용하고 있으며 샘플 코드를 시험해 보았습니다.PIL 라이브러리가있는 Python 이미지 변환

대용량 TIFF 파일을 JPG로 변환하고 싶습니다. TIFF 크기는 3MB 이상입니다. 내 요구 사항 폭의 크기를 조정 내가 예를 들어

주어진 샘플 코드를 실행하면 1,200 높이도 좀 Y

을 제공 할 것입니다 원하는 :

원본 이미지의 크기 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) 

내가 제시 한 값의 크기를 조정하지 않습니다. the docs 말하는 것처럼

+1

질문에 "당신"은 누구입니까? 시도한 샘플 코드는 무엇입니까? 어디서 가져 왔니? – abarnert

+0

또한, 참고로 : 1200x1800은 1200x 높이가 아니며 1200x1800x 높이입니다. – abarnert

답변

2

, resize

이 이미지의 크기가 조정 된 카피를 돌려줍니다.

그래서,이 라인은 :

img.resize((1200,1800)) 

... 그것은 새로운, 크기 조절, 이미지를 반환, 현재 위치에서 이미지 크기를 조정하지 않습니다. 그것이 당신이 저장하고 싶은 것입니다. 그래서

: 당신이 다음 한 어떤 튜토리얼이나 예제 코드는 당신이 코드를 준 경우

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

한편, 더 나은 소스를 찾아야한다.