Вы можете проверить поддержку 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
приводит к сжатию без потерь.