Конвертируйте favicon.Преобразовать ico в png для процедурного использования ImageMagick

#imagemagick #favicon #image-conversion

#imagemagick #значок #преобразование изображений

Вопрос:

Похоже, ImageMagick не всегда преобразует один значок.файл ico в предсказуемый отдельный png-файл — для некоторых значков он генерирует множество других значков-01.png, favicon-02.png и т.д… Есть ли способ выяснить, какой из них является фактически преобразованным значком, который вы хотите, или выяснить, сколько сгенерировано, чтобы удалить ненужные?

Ответ №1:

Я столкнулся с той же проблемой, когда пытался преобразовать значок blogger, и решил ее, используя -flatten параметр Imagemagick, подобный этому:

 convert "favicon.ico" -thumbnail 16x16 -alpha on -background none -flatten "favicon.png"
  

текст alt

Комментарии:

1. Безупречно, и он также сохраняет прозрачный фон. Спасибо!

2. Кроме того, вы можете проверить мой веб-сервис geticon.org и это исходный код: github.com/gokercebeci/geticon

3. И снова швейцарский армейский нож в мире обработки изображений спас меня от сильной головной боли.

Ответ №2:

Вероятно, это происходит из-за того, что в файле значка имеется несколько изображений — это делается для обеспечения разных разрешений для разных контекстов. Предположительно, вы хотели бы выполнить поиск в целевом каталоге для favicon*.png , затем проверить размеры каждого из них, чтобы найти тот, который вы хотели (удаляя остальные по ходу дела).

Ответ №3:

Я предполагаю, что некоторые из них — анимированные GIF-файлы. Вы можете использовать первый вариант, как описано здесь:

т. е.:

 $magick> convert 'images.gif[0]' image.png
  

У меня не установлен ImageMagic, но вы могли бы попробовать вышеуказанное для всех favicon.ico, возможно, это сработает нормально.

В противном случае вам, вероятно, потребуется написать скрипт для проверки наличия favicon-01.png и, если он существует, переименуйте его в favicon.png и удалите favicon-*.png (при условии, что у вас нет ничего другого с подобным именем в рабочей папке).