I have a SVG file that has a defined size of 16×16. When I use ImageMagick’s convert program to convert it into a PNG, then I get a 16×16 pixel PNG which is way too small:
convert test.svg test.png
I need to specify the pixel size of the output PNG. -size
parameter seems to be ignored, -scale
parameter scales the PNG after it has been converted to PNG. The best result up to now I got by using the -density
parameter:
convert -density 1200 test.svg test.png
But I’m not satisfied, because I want to specify the output size in pixels without doing math to calculate the density value. So I want to do something like this:
convert -setTheOutputSizeOfThePng 1024x1024 test.svg test.png
So what is the magic parameter I have to use here?
20 s
I haven’t been able to get good results from ImageMagick in this instance, but Inkscape does a nice job of scaling an SVG on Linux and 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
Note that you can omit one of the width/height parameters to have the other parameter scaled automatically based on the input image dimensions.
Here’s the result of scaling a 16×16 SVG to a 200×200 PNG using this command: