2016-08-26 21 views
1

私はcytoscap.jsチュートリアルでグラフを画像(png、jpg)として表現する方法を見たことがありますが、それを通常のグラフとして表現する方法があります。彼はボタンや同様のオプションをクリックして画像として保存することができますか? そのための簡単な方法は見つかりませんでした。 私はサーバサイドとしてPythonフラスコを使用しており、グラフスのためにcytoscape jsを使用しています。グラフをボタンで画像に保存

答えて

4

ブラウザからファイルを保存するためにサーバー側のコードは必要ありません。

JS内にsaveAs() APIを使用してファイルを保存できます。ここポリフィルです:https://github.com/eligrey/FileSaver.js/

あなたは、グラフのデータが必要な場合は、それだけで

var jsonBlob = new Blob([ JSON.stringify(cy.json()) ], { type: 'application/javascript;charset=utf-8' }); 

saveAs(jsonBlob, 'graph.json'); 

または画像

var b64key = 'base64,'; 
var b64 = cy.png().substring(content.indexOf(b64key) + b64key.length); 
var imgBlob = base64ToBlob(b64, 'image/png'); 

saveAs(imgBlob, 'graph.png'); 

のためになる(他の質問の再を参照してくださいbase64toBlob()。)

+0

感謝を小さな変更を加えたその作業では、私はscondelineを次のように置き換えます。 'var b64 = cy.png()。substring(cy.png()。indexOf(b64key)+ b64key.length);'すなわち、この小さな変化の前に、** "content" **は定義されておらず、エラーを投げます。 – Avi