SVGをPNGに変換
macOSのターミナルでSVGをPNGに変換する。
Inkspace、ImageMagick、qlmanage(デフォルトで入っている)のどれかを使う方法がある。
glmanange
デフォルトで入っているのでなにかインストールしなくても使える。
$ qlmanage -t -s 1024 -o . hoge.svg
カレントディレクトリにhoge.svg.pngが出力される。
オプションの説明
- -t サムネイルを用意する。
- -s イメージのサイズ(幅をピクセルで指定)
- -o 出力ディレクトリを指定
QuickLookのサムネイルを表示する機能っぽいのでサイズを指定しなくても出力されるが、かなり小さい画像にある。
Inkspace
Inkspqceをインストールしておく。Applicationsにインストールしたものとして書いとく。試してないけどmacOS以外でも同じようにすれば変換できるんじゃなかろうか。
$ /Applications/Inkscape.app/Contents/MacOS/inkscape -b white -w 1024 -p hoge.svg -o hoge.png
hoge.svgをhoge.pngに変換される。
オプションの説明
- -b 背景色の指定。指定しないと透明になるようだ。
- -w イメージのサイズ(幅をピクセル値で指定)
- -p 入力ファイル(svg)
- -o 出力ファイル(png)
-wオプションは省略可能。qlmanageと違っていい感じのサイズで出力される。(SVGファイルによってはいい感じじゃない場合があるかも)
ImageMagick
ImageMagickをインストールしておく。(うちはbrewを使ってインストールしたと思う)
$ convert -font ~/Library/Fonts/ipaexm.ttf hoge.svg hoge.png
hoge.svgをhoge.pngに変換される。
オプションの説明
- -font フォントファイルを指定する。例ではIPAフォントを指定してる。省略もできるが漢字が描画されなかった。
ImageMagickの場合、文字列を縦書きしてる場合や何が原因かよくわからない(じっくり調べてないだけだけど)けど、ちゃんと描画できてないPNGができたりしたんでInkspaceかqlmanageを使うのが良さそうだった。