【发布时间】:2011-03-27 23:38:43
【问题描述】:
我在将应用程序中的图像粘贴到 PowerPoint 中同时保持透明度时遇到了问题。我将图像存储为System.Drawing.Graphics 类型,然后将其转换为System.Drawing.Bitmap 类型并复制到剪贴板。在此过程中,我还使用了Bitmap.MakeTransparent(Color.Black),以便在粘贴图像时原始文档中的所有黑色内容都是透明的。
if (GraphicsInterface.getGraphics() != null)
{
Image image = GraphicsInterface.getGraphics();
Bitmap bitmap = new Bitmap(image);
bitmap.MakeTransparent(Color.Black);
Clipboard.SetImage(bitmap);
}
但是,当我尝试将图像粘贴到 PowerPoint 等应用程序中时,原本黑色的所有内容现在都变成了非常浅的灰色,而不是透明的。
我的方法正确吗?有没有办法协调 .net 和 PowerPoint 中的透明值?还是将图像插入 PowerPoint 后必须手动完成透明度?
【问题讨论】:
-
您使用“C# 和 .NET”这一事实在很大程度上与您的问题无关。重要的是您使用的是 Windows 窗体。
-
@John:我明白为什么 C# 无关紧要,但为什么 Windows 窗体比 .NET 更相关?我对 Windows 开发很陌生,我很好奇为什么会这样
-
如果您使用
System.Drawing,Windows 会将其形成为您正在使用的 .NET 子集。与整个 .NET 相比,它只是一个很小的子集。
标签: c# winforms transparency powerpoint clipboard