Anforderungen
auf einem UNIX-ähnliches Betriebssystem (Linux, MacOS, etc.), herunterladen und installieren Sie das folgende:
- ImageMagick
- RSVG-konvertieren
- pngquant
Skript
die
Speichern folgenden als build.sh
:
#!/bin/bash
# Relative path to location of SVG file to make into ICO file.
ICON_PATH=../../images/edible.svg
ICON_BASE=$(basename "$ICON_PATH")
ICON_DIR=$(dirname "$ICON_PATH")
ICON_FILE="${ICON_BASE%*.}"
ICON_EXT="${ICON_BASE##*.}"
FAVICON_FILE=favicon
FAVICON_EXT=.ico
# This uses rsvg-convert to create crisp PNG icons.
for size in 16 32 64 128 150 192 512; do
ICON_OUT=$ICON_FILE-${size}.png
DIMENSIONS=${size}x${size}
rsvg-convert -w $size -p 300 -d 300 $ICON_PATH > $ICON_OUT
# Use ImageMagick to center the image and make it square.
convert $ICON_OUT -gravity center -background transparent \
-resize $DIMENSIONS -extent $DIMENSIONS temp-$ICON_OUT
# Use 8-bit colour to reduce the file size.
pngquant 256 < temp-$ICON_OUT > $FAVICON_FILE-$DIMENSIONS.png
done
# Merge the 16- and 32-pixel versions into a multi-sized ICO file.
convert \
$FAVICON_FILE-16x16.png \
$FAVICON_FILE-32x32.png \
-colors 256 ../$FAVICON_FILE$FAVICON_EXT
# Create Android icons.
mv $FAVICON_FILE-192x192.png android-chrome-192x192.png
mv $FAVICON_FILE-512x512.png android-chrome-512x512.png
# Create MS tile icon.
mv $FAVICON_FILE-150x150.png mstile-150x150.png
# Clean up the temporary files.
rm ${ICON_FILE}*png temp-${ICON_FILE}*png
Bearbeiten Sie die Datei und ändern Sie die ICON_PATH
Variable auf die Position der SVG-Datei zu konvertieren, wie zB:
ICON_PATH=../images/favicons/procensus.svg
Führen Sie das Skript:
./build.sh
Im aktuellen Verzeichnis werden verschiedene Symbole erstellt.
Hinweis: Stellen Sie sicher, dass Sie Ihre Dateien sichern, bevor Sie diesen Befehl ausführen, da dadurch die PNG-Dateien gelöscht werden, die während der Verarbeitung erstellt werden.
Browser Config
Speichern Sie die folgende Datei als browserconfig.xml
:
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/mstile-150x150.png"/>
<TileColor>#da532c</TileColor>
</tile>
</msapplication>
</browserconfig>
Sie benötigen die Dichte setzen ** vor ** das Laden des Bildes ... 'konvertieren -Dichte xyz image.svg ...' –
Ja, das ist etwas weniger verschwommen –
Sie können das beste Ergebnis finden, ist ein zweistufiges Verfahren zu verwenden. Rendern Sie Ihr SVG zuerst in eine Bitmap, sagen Sie mit 256x256. Dann erstelle deine Icons daraus. –