2010-04-26 01:53:51 +0000 2010-04-26 01:53:51 +0000
179
179

Application en ligne de commande pour la conversion de SVG en PNG sous Mac OS X

Existe-t-il des programmes en ligne de commande capables de convertir un SVG en PNG, qui fonctionnent sous Mac OS X ?

Edit : Dylan B a eu une bonne réponse avec ImageMagick. Pour référence, pour installer ImageMagick avec le support SVG sur Mac OS X en utilisant MacPorts, faites

port install imagemagick +rsvg

Réponses (6)

251
251
251
2010-05-17 13:32:33 +0000

Ou sans rien installer :

qlmanage -t -s 1000 -o . picture.svg

Il produira picture.svg.png d'une largeur de 1000 pixels.

Je l'ai testé uniquement sur OS X 10.6.3.

45
45
45
2010-04-26 02:00:10 +0000

ImageMagick est un éditeur d'images en ligne de commande extrêmement polyvalent, qui rivaliserait probablement avec Photoshop s'il disposait, vous savez, d'une interface graphique. Mais qui en a besoin de toute façon ? [ ImageMagick ]

Quelque chose comme ce qui suit permettrait de convertir un .svg en .png, après installation :

$ convert picture.svg picture.png

Le .svg original n'est pas supprimé.

4
4
4
2014-09-27 08:47:51 +0000

J'ai fait svgexport en utilisant node/npm pour cela, c'est multiplateforme et ça peut être aussi simple que ça :

svgexport input.svg output.png
2
2
2
2019-05-11 18:49:15 +0000

Encore une autre méthode sans rien installer. Mais pas en ligne de commande.

  1. Ouvrez le fichier .svg dans Safari.
  2. Appuyez sur alt-command-i pour ouvrir l'inspecteur.
  3. Faites un clic droit sur la balise <svg>, sélectionnez “Capture d'écran”. (Notez que vous ne devez pas zoomer dans l'image.)

P.S. Pour agrandir l'image .svg si elle est trop petite, essayez d'ouvrir le fichier .svg dans l'éditeur de texte et ajoutez 0 à chaque chiffre sauf dans le méta-attribut. Cela peut être fait par une substitution regex globale de (\d+) à $10, où $1 est le caractère de remplacement pour la référence arrière, par exemple.

1
1
1
2015-06-26 02:48:16 +0000

C'est la commande de conversion d'ImageMagick, qui utilise d'autres paramètres, qui m'a permis de le faire. Voici ma solution de script Bash en lot qui répartit la tâche sur plusieurs processus pour utiliser tous vos cœurs ! Modifiez selon vos besoins.

batchConvertToSVG.sh (prend le nombre de processus comme argument) :

end=$(( $1 - 1 ))
for i in `seq 0 $end`;
        do
            echo Spawning helper $i of $end
                ./convertToSvgHelper.sh $i $1 &
        done

convertToSvgHelper.sh :

n=$1
for file in ./*.svg; do
   filename=${file%.svg}
   echo converting file named $filename
   test $n -eq 0 && convert -format png -resize 74 -background transparent -density 600 $file $filename.png
   n=$((n+1))
   n=$((n%$2))
done
0
0
0
2014-05-02 18:25:58 +0000

Vous pouvez effectuer une conversion par lots sur un dossier entier de fichiers SVG en PNG. J'ai utilisé l'interface en ligne de commande d'Inkscape pour produire des fichiers png d'une largeur de 80px.

find ~/desktop/toconvert '*.svg' -exec /Applications/Inkscape.app/Contents/Resources/bin/inkscape -z -w 80 -e "{}".png "{}" \;

png seront enregistrés avec le nom original *.png