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

Kommandozeilenprogramm zum Konvertieren von SVG in PNG unter Mac OS X

Gibt es Befehlszeilenprogramme, die ein SVG in PNG umwandeln können und unter Mac OS X laufen?

Edit: Dylan B hatte eine gute Antwort mit ImageMagick. Als Referenz, um ImageMagick mit SVG-Unterstützung unter Mac OS X mit MacPorts zu installieren, tun Sie

port install imagemagick +rsvg

Antworten (6)

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

Oder ohne irgendetwas zu installieren:

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

Es wird picture.svg.png erzeugt, das 1000 Pixel breit ist.

Ich habe es nur unter OS X 10.6.3 getestet.

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

ImageMagick ist ein extrem vielseitiger Befehlszeilen-Bildeditor, der wahrscheinlich Photoshop Konkurrenz machen würde, wenn er, Sie wissen schon, eine grafische Benutzeroberfläche hätte. Aber wer braucht die schon :P

So etwas wie das Folgende würde ein .svg in ein .png konvertieren, nach der Installation:

$ convert picture.svg picture.png

Die ursprüngliche .svg wird nicht gelöscht.

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

Ich habe svgexport unter Verwendung von node/npm dafür gemacht, es ist plattformübergreifend und kann so einfach sein wie:

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

Eine weitere Methode, ohne etwas zu installieren. Allerdings nicht in der Befehlszeile.

  1. Öffnen Sie die .svg-Datei in Safari.
  2. Drücken Sie alt-command-i, um den Inspektor zu öffnen.
  3. Klicken Sie mit der rechten Maustaste auf das Tag <svg> und wählen Sie “Screenshot erfassen”. (Beachten Sie, dass Sie das Bild nicht zoomen dürfen.)

P.S. Um das .svg-Bild zu vergrößern, wenn es zu klein ist, versuchen Sie, die .svg-Datei in einem Texteditor zu öffnen und an jede Zahl außer dem Meta-Attribut 0 anzuhängen. Dies kann durch eine globale Regex-Ersetzung von (\d+) zu $10 geschehen, wobei $1 der Platzhalter für die Rückwärtsreferenz ist, zum Beispiel.

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

Der Befehl “Konvertieren” von ImageMagick, der einige andere Parameter verwendet, hat es für mich getan. Hier ist meine Batch-Bash-Skript-Lösung, die die Aufgabe auf mehrere Prozesse verteilt, um alle Kerne zu nutzen! Ändern Sie es nach Bedarf.

batchConvertToSVG.sh (nimmt Anzahl der Prozesse als 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

Sie können eine Stapelkonvertierung für einen ganzen Ordner mit SVG-Dateien in PNG durchführen. Ich habe die Inkscape-Befehlszeilenschnittstelle verwendet, um png-Dateien mit einer Breite von 80px zu erzeugen.

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

png wird unter dem ursprünglichen Namen *.png gespeichert