0
所以我使用Highcharts.js生成SVG圖表。我將它轉換爲PNG,然後在我的頁面上顯示爲img。但由於某種原因,當我嘗試複製新圖像時,該粘貼爲空。如何複製/粘貼base64圖像?
$("#export").click(function() {
var svg = $("#chart").find('svg')[0];
var svgSize = svg.getBoundingClientRect();
var svgData = new XMLSerializer().serializeToString(svg);
var img = document.createElement('img');
document.querySelector('#image').src = 'data:image/svg+xml;base64,' + btoa(unescape(encodeURIComponent(svgData)))
});
我可以在新選項卡中打開圖像,但沒有右鍵單擊複製選項。我可以保存圖像。但由於某種原因,我無法獲得副本?
編輯:我實際上沒有使用畫布。這是爲了別的。我做了一些更多的研究,並且幾年前我看到了一個關於如何不能複製二進制數據圖像/ base64圖像的stackoverflow。有沒有圍繞它的解決方案?
這裏是一個示例JSFiddle。 https://jsfiddle.net/lauralindy/8x9ob2v3/
那是因爲你被它渲染到畫布上。一旦被繪製到畫布上,它就會成爲畫布的一部分,因爲它是在即時模式下繪製的 - 在繪製之後將對參考的引用刪除。 – Korgrue
是否可以創建一個最小的jsfiddle或類似的? –
SVG是和基於XML的圖像格式,這意味着它是代碼。如果您想複製SVG,您可以檢查該元素並複製整個'svg'標籤。否則,您需要將其轉換爲不同的格式,例如(jpg,gif,png),然後複製它。 –