Konverter svg til png

By nowak, 29 April, 2023

Følgende script som du kan gøre via din linux terminal omdanner alle .svg billeder i en mappe til .png billeder. Inkscape har en indbygget batch afspiller, som tilgås via inkscape kommandoen i terminalen. Følgende parametre er anvendt: -w (bredde i pixels), -h (højde i pixels), -D (vælg kun objekter og ikke hele kanvas-billedet).

Derudover samles alle png-billederne i en horisontal sprite, så det nemt kan anvendes i mobilspil eller webbaserede applikationer og hjemmesider (ccs sprites). Det er kommandoen convert, som er en del af ImageMagick, der anvendes.

God vind med det!
 

Bash Script

Code: [Select]

#!/bin/bash
#Inspired by http://scienceoss.com/bash-script-convert-images/
#This script will convert images to a smaller compressed format. The output files will use the APPENDNAME.

STARTID=1

APPENDNAME="Name-of-output-file.png"
for f in `ls -tr *.svg` #sort on timestamp -t and recursive order -r ltr?
do
CONVERTEDID=$(printf "%03d" $STARTID)
dest=`echo ${CONVERTEDID}-${APPENDNAME}`
echo "${f} to ${dest}"
inkscape "${f}" -w 64 -h 64 -D --export-png="${dest}"

let STARTID+=1
done

Comments