为什么从Edge复制图像并粘贴到PowerPoint,Paint,Excel而不是Word时颜色会发生变化

问题描述 投票:0回答:1

我们有一个C#和JavaScript应用程序,它使用chart.js来创建图表。我们要求将该图像复制到剪贴板以粘贴到PowerPoint中。

由于JavaScript中的安全限制,我们的解决方案是使用toBase64Image将图表转换为图像,并在用JavaScript创建的弹出窗口中显示该图像。用户可以使用Edge或IE11右键单击并选择复制或复制图像(取决于浏览器),以便他们可以将其粘贴到PowerPoint中。

将图像粘贴到PowerPoint,Paint或Excel(它在Word中正常工作)时会出现问题。背景颜色从白色变为黑色。它不是负像,因为图像的所有其他颜色保持不变。问题是图表的某些部分以黑色开头,而黑色背景则会丢失。

我寻找代码来抢先改变背景颜色,看看是否会有所帮助,但我还没有成功实现我发现的任何代码。

我需要的是能够复制图像并将其粘贴到具有白色背景的PowerPoint中。

javascript internet-explorer-11 microsoft-edge
1个回答
1
投票

透明背景偶尔会显示为黑色。

This chart.js GH issue有用于设置背景颜色的代码片段。

Chart.plugins.register({
  beforeDraw: function(chartInstance) {
    var ctx = chartInstance.chart.ctx;
    ctx.fillStyle = "white";
    ctx.fillRect(0, 0, chartInstance.chart.width, chartInstance.chart.height);
  }
});
© www.soinside.com 2019 - 2024. All rights reserved.