Как использовать специфичные для формата опции в ImageMagick? - PullRequest
1 голос
/ 01 апреля 2019

В настоящее время я пытаюсь конвертировать в HEIF, но единственная опция, связанная с HEIF, это heic: preserve-direction (в CLI опция define ). Как я могу использовать другие специфичные для формата настройки, такие как качество, режим без потерь, ... для HEIF и других форматов? Спасибо!

Edit: Для моего случая я использую -define heif:quality=x, который не дает никакой разницы, какой бы x не был.

1 Ответ

2 голосов
/ 01 апреля 2019

Вы можете проверить поддержку HEIC / HEIF в установленной версии ImageMagick с:

magick identify -list format | grep -Ei "HEIC|HEIF|Mode"

Единственный define в ImageMagick, который я могу найти, это тот, который вы упомянули. Я ищу, зайдя в репозиторий git и запустив:

find . -type f -exec grep -Ei "heic:|heif:" {} +

, что дает:

./coders/heic.c:  option=GetImageOption(image_info,"heic:preserve-orientation");
./www/command-line-options.html:    <td>heic:preserve-orientation</td>

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

magick identify -list compress

выход

B44A
B44
BZip
...
Fax
Group4
...
JPEG
LosslessJPEG
Lossless
LZMA
LZW
None
...
Zstd

Затем вы можете выбрать тот, который вы хотите использовать из этого списка и использовать его так:

magick input.png -compress lossless result.heic

Вы также можете использовать обычную (обычную) настройку -quality, например:

magick input.jpg -quality 80 result.heic

Из ваших собственных комментариев и экспериментов я понимаю, что -quality -1 приводит к сжатию без потерь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...