InkScape에 아이콘을 그리고 합리적인 해상도 (16x16, 32x32, ... 256x256 등)에 대한 스프라이트를 포함하는 ICO 파일로 내보내려고합니다. Photoshop, CorelDraw 등과 같은 거대하고 비싼 소프트웨어를 사용하지 않고 어떻게 이것을 할 수 있습니까?
InkScape에 아이콘을 그리고 합리적인 해상도 (16x16, 32x32, ... 256x256 등)에 대한 스프라이트를 포함하는 ICO 파일로 내보내려고합니다. Photoshop, CorelDraw 등과 같은 거대하고 비싼 소프트웨어를 사용하지 않고 어떻게 이것을 할 수 있습니까?
답변:
ImageMagick을 즉시 사용할 수 있습니다 .
convert -density 384 icon.svg -define icon:auto-resize icon.ico
convert -background none icon.svg -define icon:auto-resize icon.ico
투명한 배경을 유지하는 데 사용 합니다.
magick convert -background none icon.svg -define icon:auto-resize icon.ico
나를 위해 일했다.
명령 줄 솔루션 :
1) InkScape를 사용하여 SVG를 PNG로 내보내기
2)이 PNG 이미지를 ImageMagick으로 원하는 크기로 조정하십시오.
magick convert master.png -resize 16x16 16.png
magick convert master.png -resize 32x32 32.png
magick convert master.png -resize 48x48 48.png
3) PNG 이미지를 ICO로 변환하십시오.
magick convert 16.png 32.png 48.png icon.ico
4) ICO에 모든 것이 포함되어 있는지 확인하십시오.
identify icon.ico
icon.ico[1] ICO 16x16 16x16+0+0 32-bit sRGB 21.2KB 0.000u 0:00.000
icon.ico[0] ICO 32x32 32x32+0+0 32-bit sRGB 21.2KB 0.000u 0:00.000
icon.ico[0] ICO 48x48 48x48+0+0 32-bit sRGB 21.2KB 0.000u 0:00.000
배쉬 버전 ...
#!/bin/bash
set -ex
svg=$1
size=(16 32 24 48 72 96 144 152 192 196)
echo Making bitmaps from your svg...
for i in ${size[@]}; do
inkscape $svg --export-png="favicon-$i.png" -w$i -h$i --without-gui
done
echo Compressing...
## Replace with your favorite (e.g. pngquant)
# optipng -o7 favicon-*.png
pngquant -f --ext .png favicon-*.png --posterize 4 --speed 1
echo Converting to favicon.ico...
convert $(ls -v favicon-*.png) favicon.ico
## Clean-up maybe?
# rm favicon-*.png
echo Done
용법:
./favicon.sh your-square-svg-file.svg
필요 : 패키지 관리자의 inkscape imagemagick optipng (선택 사항).
Win10과 Inkscape가 나오지 않았기 때문에 bash 쉘을 위해 이것을 쉽게 다시 만들 수 있다는 것을 알았습니다. 이것은 Linux 용 Windows 서브 시스템에서 테스트되었지만 Mac에서도 작동합니다.
https://github.com/audreyr/favicon-cheat-sheet에서 관심있는 크기를 선택하기 위해이 참조를 사용했습니다 . size
특정 요구에 맞게 어레이를 조정하십시오 .
나는이 접근법을 제안 할 것이다 :
1) SVG를 필요한 크기로 내보내는 스크립트를 만듭니다. Android 아이콘을 만드는 데 도움이되도록이 .bat 스크립트를 코딩했습니다.
@echo off
set file="%~f1"
set path=%~dp1
set inkscape="C:\Program Files\Inkscape\inkscape.exe"
echo Le icone saranno salvate in %path%
echo Produzione icone applicative
echo %file% --export-png="%path%/ic32.png" -w32 -h32 > %~dp1/commands.txt
echo %file% --export-png="%path%/ic48.png" -w48 -h48 > %~dp1/commands.txt
echo %file% --export-png="%path%/ic72.png" -w72 -h72 > %~dp1/commands.txt
echo %file% --export-png="%path%/ic96.png" -w96 -h96 > %~dp1/commands.txt
echo %file% --export-png="%path%/ic144.png" -w144 -h144 > %~dp1/commands.txt
echo %file% --export-png="%path%/ic192.png" -w192 -h192 > %~dp1/commands.txt
echo %file% --export-png="%path%/ic512.png" -w512 -h512 > %~dp1/commands.txt
%inkscape% --shell < %~dp1/commands.txt
erase "%~dp1/commands.txt"
echo Procedura terminata
참고 :
이 매개 변수를 사용하면 Inkscape가 대화식 명령 줄 셸 모드로 들어갑니다. 이 모드에서는 프롬프트에서 명령을 입력하면 각 명령에 대해 새로운 Inkscape 사본을 실행할 필요없이 Inkscape가 명령을 실행합니다. 이 기능은 주로 스크립팅 및 서버 사용에 유용합니다. 새로운 기능은 추가하지 않지만 명령 줄 작업 (예 : 내보내기 또는 변환)을 수행하기 위해 Inkscape를 반복적으로 호출하는 스크립트의 속도 및 메모리 요구 사항을 향상시킬 수 있습니다. 셸 모드의 각 명령은 완전한 유효한 Inkscape 명령 줄이어야하지만 Inkscape 프로그램 이름이 없어야합니다 (예 : "file.svg --export-pdf = file.pdf"). ( 잉크 스케이프 매뉴얼 참조 )
2) 생성 된 모든 PNG를 단일 ICO 파일로 병합하는 philippe-b answer에 명시된 변환 구문을 위 스크립트에 추가 하십시오.
3) 선택적으로 내 보낸 PNG를 더 이상 필요하지 않으므로 제거합니다.
이 웹 사이트는 대부분의 기기 (Windows, macOS, Android, iOS)의 홈 화면에 추가 아이콘이 포함되어있어 즐겨 찾기 아이콘 생성으로 이동합니다. https://realfavicongenerator.net/