Képek tömeges létrehozása SVG fájlokból

    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