ベクター形式であるSVG形式の画像ファイルをPNG形式に変換する方法のメモ。Windows 10で確認済み。
数枚の場合はInkscapeを使ってGUIでファイルをインポート・エクスポートすればできるが、大量(数十枚〜)にある場合はコマンドラインでバッチ処理したくなる。
その場合はInkscapeを使ってコマンドラインで変換処理をおこなえる。以下の形式でSVG形式からPNG形式にファイルを変換する。
Inkscape 0.92の場合
>inkscape -z -w (ピクセル単位での幅) -f (SVG画像ファイル) -e (PNG画像ファイル)
例えばSVGファイル MyImage.svg を幅 300px でPNGファイル MyImage.png に変換する場合は以下の様にする。
>inkscape -z -w 300 -f MyImage.svg -e MyImage.png
あとは適当なスクリプトからこのコマンドを実行するだけ。
各オプションの意味は以下の通り
- -z, --without-gui : InkscapeをGUI無しで実行
- -w, --export-width=WIDTH : 出力画像の幅をピクセル単位で指定
- -f, --file=FILENAME : 入力SVGファイル指定
- -e, --export-png=FILENAME : 出力PNGファイル指定
Inkscape 1.0.2の場合
>inkscape -w (ピクセル単位での幅) -p (SVG画像ファイル) -o (PNG画像ファイル)
例えばSVGファイル MyImage.svg を幅 300px でPNGファイル MyImage.png に変換する場合は以下の様にする。
>inkscape -w 300 -p MyImage.svg -o MyImage.png
あとは適当なスクリプトからこのコマンドを実行するだけ。
各オプションの意味は以下の通り
- -w, --export-width=WIDTH : 出力画像の幅をピクセル単位で指定
- -p, --pipe : 入力SVGファイル指定
- -o, --export-filename=EXPORT-FILENAME : 出力PNGファイル指定
オプションの確認
全オプションを確認したい場合はhelpオプションで可能。メッセージがUnicode化されていてコマンドプロンプトの場合は「chcp 65001」を実行しておかないと文字化けする場合がある。
>chcp 65001
>inkscape --help
参照
Inkscape - オプション一覧2021/6/10:更新