2016-08-26 24 views
1

我在cytoscap.js教程中看到有方法將圖形表示爲圖像(png,jpg),但有一種方法可將其表示爲常規圖形,並且如果用戶希望他可以通過點擊按鈕或類似選項將其保存爲圖像? 沒有找到簡單的方法。 我正在使用python燒瓶作爲我的服務器端和cytoscape js for graphes。cytoscape將圖形保存爲按鈕圖像

回答

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);'即在這個小改動之前,**「內容」**沒有被定義,並且會引發錯誤。 – Avi