为什么从 Edge 复制图像并粘贴到 PowerPoint、Paint、Excel 而不是 Word 时颜色会发生变化
Why does the color change when an image is copied from Edge and pasted into PowerPoint, Paint, Excel but not Word
我们有一个 C# 和 JavaScript 应用程序,它使用 chart.js 创建图表。我们需要将该图像复制到剪贴板以粘贴到 PowerPoint 中。
由于 JavaScript 中的安全限制,我们的解决方案是获取图表并使用 toBase64Image 将其转换为图像,并在 window 中创建的弹出窗口中显示该图像 JavaScript。用户可以使用 Edge 或 IE11 右键单击并 select 复制或复制图像(取决于浏览器),然后他们可以将其粘贴到 PowerPoint 中。
将图像粘贴到 PowerPoint、画图或 Excel(在 Word 中工作正常)时会出现此问题。背景颜色从白色变为黑色。它不是负片图像,因为图像的所有其他颜色都保持不变。问题是图表的某些部分一开始是黑色的,并且在黑色背景下它们丢失了。
我寻找代码来先发制人地更改背景颜色,看看是否有帮助,但我还没有成功实现我找到的任何代码。
我需要的是能够复制图像并粘贴到具有白色背景的 PowerPoint 中。
透明背景有时会显示为黑色。
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);
}
});
我们有一个 C# 和 JavaScript 应用程序,它使用 chart.js 创建图表。我们需要将该图像复制到剪贴板以粘贴到 PowerPoint 中。
由于 JavaScript 中的安全限制,我们的解决方案是获取图表并使用 toBase64Image 将其转换为图像,并在 window 中创建的弹出窗口中显示该图像 JavaScript。用户可以使用 Edge 或 IE11 右键单击并 select 复制或复制图像(取决于浏览器),然后他们可以将其粘贴到 PowerPoint 中。
将图像粘贴到 PowerPoint、画图或 Excel(在 Word 中工作正常)时会出现此问题。背景颜色从白色变为黑色。它不是负片图像,因为图像的所有其他颜色都保持不变。问题是图表的某些部分一开始是黑色的,并且在黑色背景下它们丢失了。
我寻找代码来先发制人地更改背景颜色,看看是否有帮助,但我还没有成功实现我找到的任何代码。
我需要的是能够复制图像并粘贴到具有白色背景的 PowerPoint 中。
透明背景有时会显示为黑色。
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);
}
});