Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение

Как уменьшить размер картинки без потери ее качества : Операционные системы и программное обеспечение

29.03.2024 11:06


23.12.2014 18:24
OlegON
 
Гугл делал постоянно замечания, что картинки мои неоптимизированные. Сам же подсказал решение.
Подчеркну, что речь идет о веб-оптимизации, где, например, EXIF-информация играет достаточно незначительную роль.

Итак, для jpg есть программка jpegoptim. Я ее использую с параметром --strip-all, т.е.
Код:
jpegoptim --strip-all mouse.jpg
В этом случае
Цитата:
mouse.jpg: JPEG image data, EXIF standard 2.2, baseline, precision 0, 4360x400
превращается в
Цитата:
mouse.jpg: JPEG image data, JFIF standard 1.01
в глубины оптимизации я не вдавался, но, как видно, EXIF выпиливается и на значимом количестве картинок это дает экономию канала и места на диске.

Для png есть optipng, которую я запускаю без параметров, т.е. по умолчанию. Тоже достаточно неплохо вычищает картинки и может их фиксить, т.е. какие-то исправления производятся, как обещано, только на битых картинках.

На момент этого сообщения картинки, загружаемые в Хранилище (определяются по расширению jpg и png) обрабатываются этими программками. Можете на временное хранение что-нибудь залить, потестировать. Даже интересно, мне не удалось найти какое-либо изменение при последующем отображении обработанной и исходной картинки.
26.12.2014 13:23
OlegON
 
Только имейте ввиду, что она из симлинков файлы делает... Налетел тут уже...
30.06.2020 22:43
OlegON
 
Внезапно обнаружил, что png можно еще оптимизировать
Код:
convert INPUT.gif_or_png -strip [-resize WxH] [-alpha Remove] OUTPUT.png
У меня картинка-времянка для lazy_load c 7k уменьшилась до 1k только с одним -strip
Для JPEG предлагается
Код:
convert INPUT.jpg -sampling-factor 4:2:0 -strip [-resize WxH] [-quality N] [-interlace JPEG] [-colorspace Gray/sRGB] OUTPUT.jpg
этот вариант еще не пробовал
18.09.2021 20:20
OlegON
 
Понадобилось сделать сжатие целого вороха с поддиректориями (обратите внимание, что тут потеря качества есть, картинка сжимается до 20% от начального размера):
Код:
find . -iname "*.jpg" -size +1M -exec convert {} -sampling-factor 4:2:0 -strip -resize 20% {} \;
Часовой пояс GMT +3, время: 11:06.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.