Vous n'avez pas mentionné le système d'exploitation que vous utilisez. J'utilise Ubuntu et j'ai pu utiliser librsvg2 avec succès.
Si vous avez accès à Ubuntu, voici ce que vous pouvez faire. Tout d'abord, installez librsvg2:
sudo apt-get install librsvg2-bin
Ensuite, cd
dans le répertoire contenant vos SVG (assurez-vous qu'il ne contient que des SVG!) Et utilisez une commande comme celle-ci:
for old in *; do
new="$(echo "$old" | sed -e 's/svg$/new.svg/')"
rsvg-convert "$old" -w 160 -h 160 -f svg -o "$new"
done
Cela va créer un nouveau lot de SVG avec des dimensions 200px par 200px, et enregistré en tant que "nom-de-fichier-original.new.svg"
Le calcul des dimensions est quelque peu déroutant. Pour convertir SVG en SVG, vous devez faire un peu de calcul. Les options "hauteur" et "largeur" dans rsvg-convert utilisent pt, pas px, dans de tels cas, utilisez donc 80 si vous voulez 100px, 120 si vous voulez 150px et ainsi de suite.
Vous pouvez également utiliser rsvg-convert pour générer des fichiers PNG. Il est bien meilleur pour pixelliser le fichier que ImageMagick, du moins d'après mon expérience. Notez que vous devez passer -f
à png
, vous devez modifier le modèle d'enregistrement de sortie de 's/svg$/new.svg/'
à 's/svg$/png/'
, et vous entrez la largeur et la hauteur souhaitées comme valeurs de pixels.
for old in *; do
new="$(echo "$old" | sed -e 's/svg$/png/')"
rsvg-convert "$old" -w 200 -h 200 -f png -o "$new"
done