C#和Powerpoint集成:定义颜色时出现问题
作者:互联网
我使用Microsoft.Office.Interop.PowerPoint从C#应用程序生成PowerPoint文件.
我正在使用Office 2007 SP2.
我生成图表,并想用以下方法定义系列的颜色:
serie.Border.Color = Color.Red.ToArgb();
我用不同的颜色
我的问题是生成幻灯片时,颜色是不一样的:当我用红色定义系列时,它用蓝色绘制,而蓝色用红色呈现. (绿色保持绿色).
我要将颜色发送到Powerpoint时不使用ToArgb()方法吗?
我是否必须使用“颜色”类型中的其他方法,还是需要手动转换?
解决方法:
几年前,我遇到了同样的问题.真的很奇怪,我找不到关于它的任何文档,但基本上,红色和蓝色混合在一起.
那时,我写了这些方法:
public static int ToBgr(this Color color)
{
return ToBgr(color.R, color.G, color.B);
}
public static int ToBgr(int r, int g, int b)
{
// & 0xFFFFFF -> Strip away alpha channel which powerpoint doesn't like
return Color.FromArgb(b, g, r).ToArgb() & 0xFFFFFF;
}
像这样使用它:
serie.Border.Color = Color.Red.ToBgr();
标签:powerpoint,c,office-interop 来源: https://codeday.me/bug/20191208/2091506.html