Ответ 1
Добавьте этот параметр в convert
:
-background transparent
Однако имейте в виду, что на вашем исходном изображении должен быть альфа-канал. PNG могут иметь альфа-канал, JPEG - нет.
От: JPG, To: ICO;
/usr/bin/convert -resize x16 -gravity center -crop 16x16+0+0 input.jpg \
-transparent white -colors 256 output/favicon.ico
Это вывод для командной строки.
От: GIF, PNG To: ICO;
/usr/bin/convert -resize x16 -gravity center -crop 16x16+0+0 input.png \
-flatten -colors 256 output/favicon.ico
У меня проблемы с прозрачностью. Я не могу получить правильный код для него, я попробовал -channel alpha -negate и т.д.
Это создает образ, и когда я обращаюсь к сайту, он работает с Firefox, но ни один из других браузеров. IE, Chrome, Opera и Safari все ненавидят по какой-то причине, это простой файл favicon.ico. Мое заключение заключается в том, что моя команда где-то ломается. Пожалуйста, помогите?
Добавьте этот параметр в convert
:
-background transparent
Однако имейте в виду, что на вашем исходном изображении должен быть альфа-канал. PNG могут иметь альфа-канал, JPEG - нет.
Чтобы преобразовать PNG в ICO, задав нужные размеры и сохранив прозрачность:
(работает для ImageMagick 7.0 или новее)
convert -background transparent "favicon.png" -define icon:auto-resize=16,24,32,48,64,72,96,128,256 "favicon.ico"
В этом примере файл ico будет иметь 9 записей: 16x16 px, 24x24 px и т.д. (При условии, что он квадратный)
Подсказка: если вы работаете в Windows 7, вы можете сохранить приведенный ниже код в файле REG и применить его к реестру. Это создаст запись в контекстном меню файлов PNG под названием "Преобразовать в ICO". Если щелкнуть правой кнопкой мыши файл file.png и выбрать эту команду, файл file.png.ico будет создан в той же папке.
InstallConvertToIcoCtxMenu.reg
(не забудьте заменить путь ImageMagick на путь, по которому он установлен на вашем компьютере)
Windows Registry Editor Version 5.00
; Created with Default Programs Editor
; http://defaultprogramseditor.com/
; Edit Verb
[HKEY_CURRENT_USER\Software\Classes\pngfile\shell\ConvertToICO]
@="Convert to ICO"
[HKEY_CURRENT_USER\Software\Classes\pngfile\shell\ConvertToICO\command]
@="\"C:\\Program Files\\ImageMagick\\7.0.3-Q16\\convert.exe\" -background transparent \"%1\" -define icon:auto-resize=16,24,32,48,64,72,96,128,256 \"%1.ico\""
[HKEY_CURRENT_USER\Software\Classes\pngfile\shell\ConvertToICO]
"Icon"="C:\\Program Files\\ImageMagick\\7.0.3-Q16\\convert.exe,0"
Одно из решений проблемы ICO не будет использовать его:
<link rel=icon href=/favicon.png>
Работает во всех браузерах, и вы можете использовать более чистый формат файла с лучшим сжатием.