78

送信元: JPG、送信先: ICO;

/usr/bin/convert -resize x16 -gravity center -crop 16x16+0+0 input.jpg \
-transparent white -colors 256 output/favicon.ico 

これは、コマンド ラインの出力です。

送信元: GIF、PNG 送信先: 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 ファイルです。私の結論は、どこかで私のコマンドが壊れているに違いないということです。助けてください?

4

3 に答える 3

44

このオプションを に追加convert:

-background transparent

ただし、元の画像には実際にアルファ チャネルが必要であることに注意してください。PNG にはアルファ チャネルがある場合がありますが、JPEG にはありません。

于 2012-11-12T05:05:11.880 に答える
33

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 ピクセル、24x24 ピクセルなど (正方形であると仮定)


ヒント: Windows 7 を使用している場合は、以下のコードを REG ファイルに保存して、レジストリに適用できます。これにより、PNG ファイルのコンテキスト メニューに「Convert to 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"

コンテキスト メニューにエントリが追加されます

于 2018-04-13T19:14:06.680 に答える
5

ICO問題の1つの解決策は、それを使用しないことです。

<link rel=icon href=/favicon.png>

すべてのブラウザで動作し、より優れた圧縮率でsanerファイル形式を使用できるようになります。

于 2012-03-03T21:11:25.910 に答える