【发布时间】:2019-04-18 07:57:50
【问题描述】:
我们有一个使用 chart.js 来创建图表的 C# 和 JavaScript 应用程序。我们需要将该图像复制到剪贴板以粘贴到 PowerPoint 中。
由于 JavaScript 的安全限制,我们的解决方案是获取图表并使用 toBase64Image 将其转换为图像,并在 JavaScript 创建的弹出窗口中显示该图像。用户可以使用 Edge 或 IE11 右键单击并选择复制或复制图像(取决于浏览器),然后他们可以将其粘贴到 PowerPoint 中。
将图像粘贴到 PowerPoint、Paint 或 Excel 时会出现问题(在 Word 中可以正常工作)。背景颜色从白色变为黑色。它不是负像,因为图像的所有其他颜色都保持不变。问题是图表的某些部分一开始是黑色的,而黑色背景则丢失了。
我寻找代码来预先更改背景颜色,看看是否有帮助,但我还没有成功实现我找到的任何代码。
我需要的是能够复制图像并将其粘贴到具有白色背景的 PowerPoint 中。
【问题讨论】:
-
某些程序存在透明度问题。如果将图像从 Word 复制到 Paint,会发生什么? JPEG 不能是透明的。
-
乍一看,您的图像很可能是透明的,这导致在某些环境中未填充的像素为黑色。但是,需要更多信息才能确定。
-
@Terus 如果我将图像从 Word 复制到 Paint 等,那么一切正常。白色背景保持白色。
-
@Yidna 这听起来合乎逻辑。如果您知道更改透明度的解决方案,请告诉我。如果没有,那么我将开始在线搜索该解决方案。感谢您的建议。
标签: javascript internet-explorer-11 microsoft-edge