Есть ли готовые решения для сжатия изображений без потерь?
Начнем с того что сжатия изображений без потерь не работает для уже сжатых файлов, например jpg, png, gif, за редким исключением, когда например гиф или пнг имеют меньшее реальное количество цветов чем задано в палитре. Речь идет о сжатии с потерями, которое хотя и не портит изображение до неузнаваемости, все же вносит серьезные искажения в картинку, как в цветовом плане, так и в плане "зернистости" и "артефактов". Приемлемый уровень сжатия индивидуален для каждого отдельно взятого изображения, и чаще всего отображается в условной шкале "качества" от 1 до 10 (иногда от 1 до 100, просто шаг искажений делают меньше), где 10 - очень малая степень сжатия и высокое качество, а 1 - полный фуфел, в котором не всегда можно угадать о чем вообще картинка. Соответственно, сжать все в папке не лучший вариант, с каждым проходом и пережатием качество падает, даже не смотря на то что мы выставим максимальное качество, через N итераций мы получим фуфло в чистом виде. По этому гугл определяет отношение размера картинки в пикселях к размеру в байтах и выдает рекомендации на основе статистики, сколько примерно должна весить такая картинка, +/- , пережимать или нет. Так что я бы не стал прям вот все картинки в папке так наивно под одну гребенку.
Как вариант туц