Когда я изменяю размер изображения, Python Image Library выдает jpeg с дерьмовым качеством - PullRequest
4 голосов
/ 09 января 2010

Я использую библиотеку изображений Python (PIL), чтобы изменить размер изображения и создать эскиз. Почему мой код создает настолько дрянное и некачественное изображение? Может кто-нибудь сказать мне, как изменить код, чтобы он был JPEG высшего качества?

def create_thumbnail(buffer, width=100, height=100):
    im = Image.open(StringIO(buffer))
    if im.mode not in ('L', 'RGB', 'RGBA'):
        im = im.convert('RGB')
    im.thumbnail((width, height), Image.ANTIALIAS)
    thumbnail_file = StringIO()
    im.save(thumbnail_file, 'JPEG')
    thumbnail_file.seek(0)
    return thumbnail_file

Ответы [ 2 ]

14 голосов
/ 09 января 2010

Документация сайййййс :

im.save(thumbnail_file, 'JPEG', quality=90)
2 голосов
/ 10 декабря 2016

Надеюсь, это кому-нибудь поможет:

from PIL import Image
image = Image.open("2.jpg")
image.thumbnail((256, 256), Image.ANTIALIAS)
image.save("11.jpg", quality=100)
...