编程语言
首页 > 编程语言> > C#和Powerpoint集成:定义颜色时出现问题

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