Ha SVG formátumú képekből szeretnénk meghatározott méretű PNG ikonokat készíteni Linuxon egyetlen paranccsal, erre az Inkscape nagyon egyszerű lehetőséget kínál.
Ha nincs az Inkscape telepítve, telepítsük fel. Ezt Ubuntuban a szoftverközpontból is megtehetjük. Az Inkscape egy ingyenes és nagyon hasznos vektorgrafikai alkalmazás.
Ikonok készítése egy adott könyvtárban
A következő kód 16x16 méretű ikonokat hoz létre a könyvtárban található SVG fájlokból. A -w kapcsoló a PNG kép szélességét, a -h kapcsoló pedig a magasságát határozza meg:
for file in *.svg; do inkscape $file -e ${file%svg}png -w16 -h16; done
Ikonok készítése az összes alkönyvtárban
A következő kóddal az aktuális könyvtár összes alkönyvtárában PNG ikonná konvertálhatjuk az SVG fájlokat:
for dir in *
do
dir=${dir%*/}
for file in $dir/*.svg; do inkscape $file -e ${file%svg}png -w16 -h16; done
done
Képek készítése több méretben
A következő kód a widths tömbben felsorolt szélességű PNG képeket készít a könyvtárban található SVG állományokból, és azokat méret szerint külön könyvtárba teszi:
FILES=*.svg
widths=( 100 150 180 200 210 250 300 400 500 600 )
for width in "${widths[@]}"
do
rm -rf PNG-$width
mkdir PNG-$width
for f in $FILES
do
filename="${f%.*}"
inkscape --export-png=PNG-$width/$filename.png --export-width=$width $f
done
done