Imagemagick을 사용하여 GIF, PNG 및 JPG를 .ICO 파일로 변환
보낸 사람 : 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 파일입니다. 내 결론은 어딘가에서 내 명령이 깨지는 것임에 틀림 없다. 도와주세요?
이 옵션을 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 파일에는 16x16 px, 24x24 px 등 9 개의 항목이 있습니다 (정사각형이라고 가정).
힌트 : Windows 7을 사용하는 경우 아래 코드를 REG 파일에 저장하고 레지스트리에 적용 할 수 있습니다. 그러면 "ICO로 변환"이라는 PNG 파일의 컨텍스트 메뉴에 항목이 생성됩니다. 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>
모든 브라우저에서 작동하며 더 나은 압축으로 더 깨끗한 파일 형식을 사용할 수 있습니다.
'Development Tip' 카테고리의 다른 글
Laravel 5에서 모듈 식 앱을 구성하는 방법은 무엇입니까? (0) | 2020.11.15 |
---|---|
자식 요소가 부모 스타일을 상속하지 못하도록하는 CSS (0) | 2020.11.15 |
Android Studio 및 Gradle 빌드 오류 (0) | 2020.11.15 |
기본 메서드는 잠시 동안 true를 반환 한 다음 false를 반환합니까? (0) | 2020.11.15 |
배터리 사용 테스트 (0) | 2020.11.15 |