Подушка - Размер файла GIF - PullRequest
1 голос
/ 10 июля 2020

Следующая программа использует пакет Pillow ( 3.4.2 ) для создания очень простого файла GIF . Размер файла 11,2 КБ .

from PIL import Image, ImageDraw
img = Image.new('P', (400, 300))
draw = ImageDraw.Draw(img)
draw.rectangle((0, 0, img.width, img.height), fill='black')
draw.line((10, 10, img.width-10, img.height-10), fill='cyan', width=5)
del draw
img.save('Test.gif')

Если я открою этот файл в Microsoft Paint и Сохранить как с другим именем, размер файла становится 1,90 КБ .

Почему такая большая разница? Могу ли я заставить Pillow использовать любой формат, который использует Paint , чтобы получить такой же маленький размер?

Ответы [ 2 ]

1 голос
/ 10 июля 2020

Если вы не делаете анимированный GIF, вы можете изменить img.save('Test.gif') на img.save('Test.png'), тогда размер файла станет 1,52 КБ .

0 голосов
/ 10 июля 2020

Вы можете использовать jpeg и оптимизировать параметры, как здесь

img.save('Test.jpg',optimize=True,quality=95)
...