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



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

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

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

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

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

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

此图表.js GH 问题包含用于设置背景颜色的代码片段。

Chart.plugins.register({
beforeDraw: function(chartInstance) {
var ctx = chartInstance.chart.ctx;
ctx.fillStyle = "white";
ctx.fillRect(0, 0, chartInstance.chart.width, chartInstance.chart.height);
}
});

最新更新