Saturday, October 04, 2008

librsvgをwindowsで使用してSVGからPNG画像を生成する

Windowsでlibrsvgをインストールするには、以下の手順でおこないます。

1. GTKインストール
http://sourceforge.net/projects/gladewin32/
から、gtk-dev-2.12.9-win32-2.exeをダウンロードし、インストール

2. rsvg-convert, rsvg-viewのインストール
http://ftp.gnome.org/pub/gnome/binaries/win32/librsvg/2.22/
からlibrsvg-dev-2.22.2.zipをダウンロード解凍。
解凍した後にbinディレクトリにパスを通しておきます。

SVGファイル(svgtest1.svg)からPNG画像を生成するには、以下のコマンドを実行します。

rsvg-convert svgtest1.svg -f png -o sample669.png

svgtest1.svg


<?xml version="1.0" ?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200"
height="200">
<rect x="20" y="20" width="100" height="100" rx="20" fill="#bbddff"
stroke="#8899ee" stroke-width="1px" />
<rect x="100" y="90" width="80" height="80" rx="10" fill="#cac0c0"
stroke="#999999" stroke-width="2px" fill-opacity="0.3" />
</svg>




出力画像(sample669.png)

2 comments:

masumizaru said...

こんにちは。
突然失礼したしますが、一つ質問させて頂いてよろしいでしょうか。
おっしゃるとおりに設定し、コマンドラインからSVGファイルをPNGに変換しようとしたところ、以下のようなメッセージが出て失敗しました。

"Multiple SVG files are only allowed for PDF and PS output."

どのような原因が考えられるか、宜しければご教授頂けませんでしょうか。

kyle said...

masumizaru様、
メッセージ額面どおりに解釈すると複数のsvgファイルを指定したことが原因と考えられますが。。。どのようなコマンドを入力されたのでしょうか。