Ich habe eine SVG-Datei mit einer definierten Größe von 16x16. Wenn ich das Konvertierungsprogramm von ImageMagick verwende, um es in ein PNG zu konvertieren, erhalte ich ein 16x16-Pixel-PNG, das viel zu klein ist:
convert test.svg test.png
Ich muss die Pixelgröße des Ausgabe-PNG angeben. -size
Parameter scheint ignoriert zu werden, -scale
Parameter skaliert das PNG, nachdem es in PNG konvertiert wurde. Das bisher beste Ergebnis habe ich mit dem -density
Parameter:
convert -density 1200 test.svg test.png
Aber ich bin nicht zufrieden, weil ich die Ausgabegröße in Pixel angeben möchte, ohne den Dichtewert zu berechnen. Also ich möchte sowas machen:
convert -setTheOutputSizeOfThePng 1024x1024 test.svg test.png
Was ist also der magische Parameter, den ich hier verwenden muss?
Lösung des Problems
Ich konnte in diesem Fall keine guten Ergebnisse mit ImageMagick erzielen, aber Inkscape leistet gute Arbeit beim Skalieren einer SVG-Datei unter Linux und Windows:
# Inkscape v1.0+
inkscape -w 1024 -h 1024 input.svg -o output.png
# Inkscape older than v1.0
inkscape -z -w 1024 -h 1024 input.svg -e output.png
Beachten Sie, dass Sie einen der Breiten-/Höhenparameter weglassen können, damit der andere Parameter automatisch basierend auf den Eingabebildabmessungen skaliert wird.
Hier ist das Ergebnis der Skalierung eines 16x16 SVG auf ein 200x200 PNG mit diesem Befehl:
Keine Kommentare:
Kommentar veröffentlichen