İşte kabul edilen cevabı tarafından Rob W boyutları (16, 32, vs.) bir kereden fazla yazmak zorunda önlemek için önemsiz bir adaptasyon ile:
#!/bin/bash
files=()
for size in 16 32 48 128 256; do
inkscape -z -e "$size.png" -w "$size" -h "$size" logo.svg > /dev/null 2> /dev/null
files+=("$size.png")
done
convert "${files[@]}" -colors 256 favicon.ico
unlink "${files[@]}"
Burada logo.svg
biz istenilen ebatlarda (küçük dosyaları oluşturmak hangi girişi (kaynak) resmini temsil 16.png
, 32.png
biz o zaman çıkışı (sonuç) simgesi dosyasının içine birleştirmek, vs.) favicon.ico
. Sen "16 24 32 48 64 72 128" için, örneğin çizgi 3, içinde boyutları listesini değiştirebilir ve convert
bu komut G-Man tarafından açıklanan tekniği kullandığı için komut otomatik olarak buna göre adapte olacaktır burada onun cevabını bir inşa etmek dosya isimleri dizisi. Ve son olarak, 4. satırda oluşturulan PNG dosyalarının dosya isimleri dizisini tekrar kullanarak bağlantısını kaldırdık.
Bu komutu farkettim:
convert logo.svg -define icon:auto-resize=16,48,256 -compress zip favicon.ico
( user400747'nin yanıtında sunulana eşdeğer ) aslında ölçeklendirilmiş bitmap görüntüsü (kalite kaybı) ve katmanlar arka planı saydamlığını kaybetti.
convert
her kullandığımda kullanmanın yeni bir yolunu öğrenmiş gibi hissediyorum . Cevap için teşekkürler!