1. ホーム
  2. svg

[解決済み] ImageMagickでSVGをPNGに変換する方法は?

2022-03-20 18:47:27

質問

16x16のサイズで定義されたSVGファイルを持っています。私がImageMagickの変換プログラムを使ってそれをPNGに変換すると、16x16ピクセルのPNGが得られますが、これはあまりにも小さすぎます。

convert test.svg test.png

出力されるPNGのピクセルサイズを指定したいのですが。 -size パラメータは無視されるようです。 -scale パラメータはPNGを拡大縮小します。 をPNGに変換しています。今までで一番良い結果が得られたのは -density パラメータを使用します。

convert -density 1200 test.svg test.png

しかし、私は密度値を計算するための計算をせずに、出力サイズをピクセル単位で指定したいので、満足できません。そこで、次のようなことをしたい。

convert -setTheOutputSizeOfThePng 1024x1024 test.svg test.png

では、ここで使わなければならない魔法のパラメータは何でしょうか?

どのように解決するのですか?

私はこの例でImageMagickから良い結果を得られていませんが、InkscapeはLinuxおよびWindowsでSVGを拡大縮小するのに良い仕事をしてくれます。

# 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

なお、width/height パラメータの一方を省略すると、もう一方のパラメータが入力画像の寸法に基づいて自動的に拡大縮小されます。

このコマンドで16x16のSVGを200x200のPNGにスケーリングした結果がこちらです。