В настоящее время я использую mogrify -strip image.jpg
для удаления нежелательных байтов из изображений. Было предложено удалить дополнительные данные, используя jpegran
из libjpeg
, что-то вроде:
jpegtran -copy none -optimize -outfile image.jpg image.jpg
Проблема, с которой я столкнулся - если это вообще проблема - в том, что jpegtran
, похоже, на самом деле не делает ничего такого, чего не делает mogrify. Во всех моих тестах размер файла остается неизменным. Если я удаляю mogrify часть моего кода и заменяю на jpegtran
то, похоже, он выполняет ту же функцию.
Например:
- изображение без сжатия: 300 КБ
- изображение с помощью
mogrify -strip
+jpegtran
: 272k - изображение только с
mogrify -strip
: 272k - изображение только в формате
jpegtran
: 272 тыс.
Хотя у меня сложилось впечатление, что mogrify
просто удалил профили / комментарии к изображениям и что jpegtran
сделал это, а также сжал изображение без потерь, чтобы сделать его меньше. Я что-то пропустил?