[解決済み] PythonでSVGからPNGに変換する
2022-07-03 15:49:53
質問
の変換はどのように行うのですか?
svg
を
png
というように、Pythonで?私は
svg
のインスタンスに
StringIO
. pyCairo ライブラリを使うべきですか?そのコードはどのように書けばいいのでしょうか?
どのように解決するのですか?
答えは、"です。 pyrsvg の Python バインディングです。 librsvg .
Ubuntuには python-rsvgパッケージ が提供されています。そのソースコードは Gnome プロジェクトの GIT リポジトリに含まれているようなので、その名前を Google で検索するのは難しいです。
私は、SVG を cairo の表面にレンダリングしてディスクに書き込む、最小限の "hello world" を作りました。 表面にレンダリングし、ディスクに書き出します。
import cairo
import rsvg
img = cairo.ImageSurface(cairo.FORMAT_ARGB32, 640,480)
ctx = cairo.Context(img)
## handle = rsvg.Handle(<svg filename>)
# or, for in memory SVG data:
handle= rsvg.Handle(None, str(<svg data>))
handle.render_cairo(ctx)
img.write_to_png("svg.png")
更新
: 2014年現在、Fedora Linuxディストリビューションに必要なパッケージは以下の通りです。
gnome-python2-rsvg
. 上記のスニペットリストは、そのままでも動作します。
関連
-
[解決済み] 関数デコレータを作成し、それらを連鎖させるには?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] なぜC++はPythonよりもstdinからの行の読み込みが遅いのですか?
-
[解決済み] Pythonのswitch文の代用品?
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] リストスライスの割り当てはどのように行われるのですか?
-
[解決済み] Pythonを使ったMicrosoft SQLサーバへの接続
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] pyvenv-3.4 は 0 ではない終了ステータス 1 を返しました。
-
[解決済み] ヒストグラム Matplotlib
-
[解決済み] Matplotlibのレジェンドが動作しない
-
[解決済み] re.sub置換パターンにおけるキャプチャグループの後方参照への対応
-
[解決済み] TypeError: can't multiply sequence by non-int of type 'float'」と表示されるのはなぜですか?
-
[解決済み] pathlib.Pathオブジェクトの絶対パスを取得するには?
-
[解決済み] python: 2階層上のディレクトリを取得する
-
[解決済み] 乱数の行列を作成する簡単な方法
-
[解決済み] sqlalchemy の declarative ORM 拡張機能で複数カラムのインデックスを使用する場合
-
[解決済み] readonlyプロパティをmockでモックするには?