2017-01-09 5 views
0

私はある時点でネイティブSVGイメージを生成するPythonアプリケーションを持っています。このsvgは、すぐにWebサーバーを介して送信されます(xlink:href属性で捕捉されます)。svgをファイルにエクスポートするには?

私はそれをコピーして、サーバを閉じた後に見ることができます。テストのためのものなので、画像が保存される形式は気にしません。私はそれを「人間の視覚可能」にしたいだけです。どうやってやるの?

私はubuntu OSで動作し、Python 3を使用しています。画像はDatashaderによって生成されます(これは関連しています)。


これが明確でない場合:私はsvgを生成したくありません。私のsvgはすでに生成されているので、ファイルに保存したいだけです。

+1

'.svg'ファイルは完全に人間の視覚可能です。ブラウザで開くだけです。おそらく、SVGベクトルイメージをPNGラスタイメージにレンダリングしたいのですか? –

+0

私は気にしません。私はそれを単にPythonオブジェクトのままでは簡単に開くことができないので、たとえそれがsvg、pngなどであっても、それが保存されている限り私は満足しています。 –

+1

だから 'open( 'out.svg'、 'w')。write(svg_string)'? SVGは単なるXMLです。私はあなたがSVGコンテンツをWebサーバーに送信しているが、ディスクに書き込むのが難しいというのはちょっと困惑しています。何か不足していますか? –

答えて

1

私はあなたが、などを使用しているものをOSわからないんだけど、これは正しい方向に開始することがあります。

それが作成され、送信されているので、あなたは、特定のファイルを既に割り当てられていると仮定すると、 (あなたが述べたように)サーバーを介して、あなただけのようなものを使用することができます:/ MYPATH/toSVG/viewingAppは、InkscapeのようSVG処理アプリケーションを、実行するためのターミナルコマンドです

import pysvg.structures 
import pysvg.builders 
import pysvg.text 
import subprocess 

mySvg = pysvg.strcture.svg() 
savePathAndFile = "/myPath/testSvg.svg" 
mySvg.save(savePathAndFile) 

subprocess.call(['/myPath/toSVG/viewingApp', savePathAndFile]) 

+0

<< AttributeError: 'Image'オブジェクトには 'save'属性がありません>>(私のsvgイメージのPythonオブジェクトはmySvgと同等ですが、おそらくそうではありません) –

+0

私の例ではオブジェクトはpysvg構造体ですネイティブの「イメージ」に変換します。質問にはコードがないので、あなたのフレームワークがどのようなものかはわかりませんが、この例はPythonパッケージを使って.svgファイルを保存するための基本的な実装です。 詳細については、この短い記事をチェックしてください... http://florian-berger.de/en/articles/creating-simple-svg-from-python/ –

+0

さて、私のネイティブイメージと保存私の質問の全体的なポイントです。あなたのリンクはどのようにsvgを作成するかについてですが、私の場合はすでにsvgがあり、保存したいだけです。 –

関連する問題