Convert (ImageMagick) игнорирует настройку уровня качества при конвертации в webp в Mint 22

Вопрос или проблема

Я использую convert для повторной компрессии изображений в webp для публикации. Моя команда в командной строке:

convert -quality 70 input.jpg test.webp

Это работает в Mint 20 (ImageMagick 6.9.10-23), но в Mint 22 (ImageMagick 6.9.12-98) флаг -quality, похоже, совсем не работает. Независимо от того, укажу ли я -quality 1 или -quality 99, я получаю один и тот же результат. Однако -quality 100 создает гигантское (я предполагаю, несжатое изображение)

Это звучит как регрессия, о которой вы хотели бы сообщить в Mint как об ошибке.

В любом случае, вы можете избежать использования convert для задач сжатия. Прежде всего, сами ImageMagick находятся на пути к устареванию отдельного инструмента convert в пользу magick. (Попробуйте magick convert …, возможно, регрессия заключается только в синтаксическом анализе командной строки convert, и тогда это будет простое исправление.)

На моем компьютере GraphicsMagick ощутимо быстрее (~10%) чем ImageMagick (я не профилировал, почему, это 20-летний форк ImageMagick с немного более удобным интерфейсом командной строки и с меньшим количеством уязвимостей, так что, возможно, это просто меньше исторического хлама?), и его

gm convert -quality 70 large_input_image.jpeg out.webp

кажется, создает значительно больший вывод, чем -quality 1 и значительно меньший вывод, чем -quality 100.

Он доступен в Mint 22 через sudo apt install graphicsmagick.

Ответ или решение

Вопрос, касающийся неработоспособности настройки уровня качества при конвертации изображений в формат WebP с помощью команды convert в Linux Mint 22, требует комплексного анализа. Данная проблема проявляется в том, что независимо от установленного значения параметра -quality, результат остается неизменным, за исключением выставленного значения 100, которое приводит к созданию изображения гигантского размера.

Причины проблемы

  1. Версия ImageMagick:
    В Mint 22 используется версия ImageMagick 6.9.12-98, тогда как в Mint 20 применялась версия 6.9.10-23. Это может указывать на наличие регрессии в более новой версии, которая могла затронуть обработку параметра качества.

  2. Депрекация команды convert:
    Есть данные о том, что команда convert постепенно выводится из обращения. Вместо нее рекомендуется использовать команду magick, которая объединяет в себе функциональность нескольких инструментов, предоставляя более стабильное и предсказуемое поведение.

Решения

1. Использование команды magick

Попробуйте выполнить ту же команду, но уже через magick:

magick convert -quality 70 input.jpg test.webp

Это может помочь установить уровень качества в формате WebP, если проблема заключается в парсинге командной строки старой версии convert.

2. Альтернативные инструменты

Если проблема все еще сохраняется, вы можете рассмотреть возможность использования GraphicsMagick, которая является продолжением ImageMagick и обеспечивает более высокую скорость обработки, отличающаяся эффективностью и меньшей предрасположенностью к багам. Установить его можно с помощью команды:

sudo apt install graphicsmagick

После установки можно выполнить конвертацию с использованием gm convert:

gm convert -quality 70 large_input_image.jpeg out.webp

Этот вариант часто показывает лучшие результаты в плане распределения качества и размера получаемого изображения.

Заключение

Если предложенные решения не помогают, рекомендуется обратиться в поддержку Mint с описанием проблемы, ведь это может быть признаком более серьезной дефекты в последней версии пакета ImageMagick. Фиксация таких ошибок важна для улучшения качества программного обеспечения. Совершая переход на более стабильные и активно развивающиеся инструменты, такие как GraphicsMagick, вы можете существенно улучшить рабочий процесс без потери функциональности.

Таким образом, следуя вышеописанным шагам, вы сможете эффективно управлять конвертацией изображений и поддерживать необходимый уровень качества в своих проектах.

Оцените материал
Добавить комментарий

Капча загружается...