2010-04-26 01:53:51 +0000 2010-04-26 01:53:51 +0000
179
179
Advertisement

Mac OS XでSVGをPNGに変換するコマンドラインアプリケーション

Advertisement

Mac OS X上でSVGをPNGに変換できるコマンドラインプログラムはありますか?

Editです。Dylan BさんがImageMagickで良い回答をされていました。参考までに、MacPorts を使って Mac OS X に SVG サポートの ImageMagick をインストールするには、

port install imagemagick +rsvg
``` を実行してください。
Advertisement
Advertisement

回答 (6)

251
251
251
2010-05-17 13:32:33 +0000

または何もインストールしなくても、

qlmanage -t -s 1000 -o . picture.svg

横幅1000ピクセルのpicture.svg.pngが生成されます。

45
45
45
2010-04-26 02:00:10 +0000

ImageMagick ](http://www.imagemagick.org/script/binary-releases.php#macosx) は非常に汎用性の高いコマンドライン画像エディタで、GUIがあればPhotoshopに匹敵するでしょう。

以下のようなものは、インストール後に.svgを.pngに変換します。

$ convert picture.svg picture.png

元の.svgは削除されません。

4
Advertisement
4
4
2014-09-27 08:47:51 +0000
Advertisement

このためにnode/npmを使って svgexport を作ってみました。

svgexport input.svg output.png
2
2
2
2019-05-11 18:49:15 +0000

何もインストールしない別の方法。コマンドラインではありませんが。

1.Safariで.svgファイルを開く。 2. alt-command-iを押してインスペクタを開く。 3. <svg> タグを右クリックし、「スクリーンショットをキャプチャ」を選択。(画像を拡大してはいけないことに注意してください。)

追伸.svg画像が小さすぎる場合に拡大するには、テキストエディタで.svgファイルを開き、メタ属性以外のすべての数字に0を追加してみてください。これは、例えば (\d+)$10 から $1 にグローバル正規表現で置換することで行うことができます。

1
Advertisement
1
1
2015-06-26 02:48:16 +0000
Advertisement

ImageMagick の convert コマンドは、他のパラメータを使って、私のためにそれをしてくれました。タスクを複数のプロセスに分割して、すべてのコアを利用する私のバッチ Bash スクリプトソリューションは以下の通りです。必要に応じて修正してください。

batchConvertToSVG.sh (引数にプロセス数を取る):

end=$(( $1 - 1 ))
for i in `seq 0 $end`;
        do
            echo Spawning helper $i of $end
                ./convertToSvgHelper.sh $i $1 &
        done

convertToSvgHelper.sh:

n=$1
for file in ./*.svg; do
   filename=${file%.svg}
   echo converting file named $filename
   test $n -eq 0 && convert -format png -resize 74 -background transparent -density 600 $file $filename.png
   n=$((n+1))
   n=$((n%$2))
done
0
0
0
2014-05-02 18:25:58 +0000

SVGファイルのフォルダ全体をPNGに一括変換することができます。Inkscapeのコマンドラインインターフェイスを使って、幅80pxのpngファイルを作成してみました。

find ~/desktop/toconvert '*.svg' -exec /Applications/Inkscape.app/Contents/Resources/bin/inkscape -z -w 80 -e "{}".png "{}" \;

pngは元の名前で保存されます。

Advertisement

関連する質問

12
7
5
15
5
Advertisement
Advertisement