1
我在cytoscap.js教程中看到有方法將圖形表示爲圖像(png,jpg),但有一種方法可將其表示爲常規圖形,並且如果用戶希望他可以通過點擊按鈕或類似選項將其保存爲圖像? 沒有找到簡單的方法。 我正在使用python燒瓶作爲我的服務器端和cytoscape js for graphes。cytoscape將圖形保存爲按鈕圖像
我在cytoscap.js教程中看到有方法將圖形表示爲圖像(png,jpg),但有一種方法可將其表示爲常規圖形,並且如果用戶希望他可以通過點擊按鈕或類似選項將其保存爲圖像? 沒有找到簡單的方法。 我正在使用python燒瓶作爲我的服務器端和cytoscape js for graphes。cytoscape將圖形保存爲按鈕圖像
您不需要服務器端代碼來保存瀏覽器中的文件了。
您可以使用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()
)
謝謝,它的工作變化很小,我用這個替換了scondeline:'var b64 = cy.png()。substring(cy.png()。indexOf(b64key)+ b64key.length);'即在這個小改動之前,**「內容」**沒有被定義,並且會引發錯誤。 – Avi