8

Я знаю, что для этого есть «jpegoptim». Но это не всегда уменьшает размер изображения, как ожидалось. Например, если я выполню

jpegoptim --max=50 *.jpg

на изображении размером 550 КБ размер не будет уменьшаться. Поэтому мне интересно, есть ли более эффективные инструменты для этого.

Спасибо

1 ответ1

11

Вы можете попробовать mogrify:

http://www.imagemagick.org/www/mogrify.html

Также см. Конкретные примеры для сжатия изображений:

https://askubuntu.com/questions/25356/decrease-filesize-when-resizing-with-mogrify

mogrify - качество 80 - размер 80 file.jpg

так что вы должны получить что-то вроде

mogrify -quality 80 file.jpg

Тест с моей машины:

aaron@sandbox:~/img-test$ du -h splash.jpg 
188K    splash.jpg
aaron@sandbox:~/img-test$ mogrify -quality 10 splash.jpg
aaron@sandbox:~/img-test$ du -h splash.jpg 
16K splash.jpg

На 10% это выглядит ужасно, но вы поняли.

Вы также можете использовать PIL Python:

https://stackoverflow.com/questions/4353019/in-pythons-pil-how-do-i-change-the-quality-of-an-image

из PIL import Image

im = Image.open("C:\Users\Public\Pictures\Sample Pictures\Jellyfish.jpg") im.save("C:\Users\Public\Pictures\Sample Pictures\Jellyfish_compressed.jpg", качество = 10)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .