如何复制/粘贴base64图像?

时间:2017-08-11 19:34:46

标签: javascript html svg highcharts

所以我使用Highcharts.js生成SVG图表。我将其转换为PNG,然后在我的页面上将其显示为img。但由于某些原因,当我尝试复制新图像时,粘贴是空的。

$("#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)))

});

我可以在新标签页中打开图片,但那里没有右键单击复制选项。我可以保存图像。但出于某种原因,我无法获得副本?

编辑:我实际上并没有使用画布。那是别的东西。我对它进行了更多的研究,几年前我看到了一个关于二进制数据images / base64图像如何被复制粘贴的堆栈溢出。周围有解决方案吗?

这是一个JSFiddle示例。 https://jsfiddle.net/lauralindy/8x9ob2v3/

1 个答案:

答案 0 :(得分:0)

您可以复制从base64字符串创建的图像。看看下面发布的示例。点击“从base64字符串添加图片”,将图像附加到正文标记,右键单击图像,复制图形,打开图形编辑器并将图像粘贴到那里。

例:
http://jsfiddle.net/8j8p2uyk/