我们公司的网站使用 canvas
元素在我们的页面上呈现图形和图表。但是,这些不能拖放到 Microsoft Word 文档或电子邮件客户端中。因此,我设计了一种方法,通过从 Canvas 获取 base64 数据,在按下鼠标时用外观相同的 img
替换 Canvas 。
Canvas 在 mousedown 时被图像正确替换,并在 mouseup 时放回原处。但是,这不允许拖放图像标签,可能是因为替换发生得太晚了。
Here is a working JSFiddle example.
我们使用一个插件,该插件还为图表的特定区域提供工具提示,因此我无法替换悬停在/悬停时的元素,因为这会使工具提示停止工作。
如何使拖放图像本身成为可能?
最佳答案
在您的应用开始时预构建您的 img 元素,而不是花时间“即时”完成。
使用内存 Canvas 创建图表:
var canvas1=document.createElement('canvas');
// draw your chart on canvas1
然后从 Canvas 创建 img 元素
var chart1=new Image();
document.body.appendChild(chart1);
chart1.src=canvas1.toDataURL();
关于javascript - 像图像一样拖放 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34453494/