Оптимизация JPEG без потерь с помощью FreeImage

Существует несколько инструментов для оптимизации JPEG без ущерба для качества, например jpegtran.exe и Smush.it . Я искал способ сделать это с помощью кода (, предпочтительно в.NET ), и в настоящее время я остановился на FreeImage , но я не получаю желаемого результата.

Есть флаг JPEG_OPTIMIZE, но вы также должны установить флаг качества, и тогда это больше не будет без потерь.

Вот что я пробовал:

var image = FreeImage.Load(FREE_IMAGE_FORMAT.FIF_JPEG, fileIn, FREE_IMAGE_LOAD_FLAGS.JPEG_ACCURATE);
FreeImage.Save(FREE_IMAGE_FORMAT.FIF_JPEG, image, fileOut, FREE_IMAGE_SAVE_FLAGS.JPEG_OPTIMIZE);

Но делает компрессию. Я думал, что FreeImage может оптимизировать (, удаляя метаданные и т. д. ), но я не могу найти, как сохранить то же качество сжатия/изображения. Как правильно это сделать?

Редактировать :Существует некоторая путаница в отношении невозможности оптимизировать файлы JPEG, краткий ответ: да, вы можете , так как вы можете удалить неиспользуемые метаданные. Я не про компрессию. Посмотрите эти темы или проверьте ответ Майкла Б.

Библиотека для дальнейшего сжатия jpeg без потерь

Доступна ли версия Smush.it для Windows?

Инструмент для сжатия изображений

Оптимизатор изображений для изображений, используемых в Интернете (jpg, gif и png)

Вопрос :Можно ли это сделать с помощью FreeImage, и если да :, то как?

6
задан Community 23 May 2017 в 12:23
поделиться