InkScape'de bir simge çizdim ve tüm makul çözünürlüklerde (16x16, 32x32, ... 256x256 vb.) Sprite içeren bir ICO dosyasına vermek istiyorum. Bu nasıl yapılabilir (Photoshop, CorelDraw vb. Büyük ve pahalı yazılımlar kullanmadan)?
InkScape'de bir simge çizdim ve tüm makul çözünürlüklerde (16x16, 32x32, ... 256x256 vb.) Sprite içeren bir ICO dosyasına vermek istiyorum. Bu nasıl yapılabilir (Photoshop, CorelDraw vb. Büyük ve pahalı yazılımlar kullanmadan)?
Yanıtlar:
ImageMagick'i hemen kullanabilirsiniz :
convert -density 384 icon.svg -define icon:auto-resize icon.ico
convert -background none icon.svg -define icon:auto-resize icon.ico
Saydam arka plan tutmak için kullanın .
magick convert -background none icon.svg -define icon:auto-resize icon.ico
benim için çalıştı.
Bir komut satırı çözümü:
1) SVG'nizi InkScape ile PNG'ye aktarın
2) Bu PNG görüntüsünü, ImageMagick ile istediğiniz boyutlarda yeniden boyutlandırın:
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 görüntülerini ICO'ya dönüştürün:
magick convert 16.png 32.png 48.png icon.ico
4) ICO'nuzun her şeyi içerdiğinden emin olun:
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
Bash sürümü ...
#!/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
Kullanımı:
./favicon.sh your-square-svg-file.svg
Gerektirir: inkscape imagemagick optipng (isteğe bağlı) paket yöneticinizden.
Win10 ve Inkscape'in üstesinden gelemediği için bunu bash kabuğu için yeniden yaratmayı daha kolay buldum. Bu Linux için Windows Subsystem içinde test edildi ancak Mac üzerinde de çalışması gerekiyor.
İlgilendiğim boyutları seçmek için bu referansı kullandım: https://github.com/audreyr/favicon-cheat-sheet . size
Diziyi özel ihtiyaçlarınıza göre ayarlayın .
Bu yaklaşımı öneriyorum:
1) SVG'yi istenen boyutta dışa aktarmak için bir komut dosyası oluşturun. Android simgesi oluşturmama yardımcı olmak için bu .bat komut dosyasını kodladım
@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
NOT :
Bu parametre ile Inkscape etkileşimli bir komut satırı kabuğu moduna girecektir. Bu modda, komut istemine komut yazarsınız ve Inkscape her komut için yeni bir Inkscape kopyası çalıştırmak zorunda kalmadan bunları çalıştırır. Bu özellik çoğunlukla komut dosyası ve sunucu kullanımları için kullanışlıdır: yeni bir özellik eklemez, ancak art arda komut satırı görevlerini (dışa aktarma veya dönüşüm gibi) gerçekleştirmek için Inkscape'i çağıran herhangi bir komut dosyasının hızını ve bellek gereksinimlerini artırmanıza olanak tanır. Kabuk modundaki her komut tam bir geçerli Inkscape komut satırı olmalıdır, ancak Inkscape program adı olmadan, örneğin "file.svg --export-pdf = file.pdf". ( inkscape kılavuzuna bakınız )
2) Yukarıdaki betiğe , oluşturulan tüm PNG'leri tek bir ICO dosyasına birleştiren philippe-b yanıtında belirtilen dönüştürme sözdizimini ekleyin.
3) İsteğe bağlı olarak, dışa aktarılan tüm PNG'leri kaldırın, çünkü artık gerek kalmaz
Bu web sitesi, çoğu cihaz için Ana Ekrana Ekle simgelerini (Windows, macOS, Android, iOS) içeren https://realfavicongenerator.net/ adresinden favicon oluşturma yolunda.