2

我想在我的形状中填充(255,168,0)颜色,当我在下面的代码中运行它时,它给了我一点蓝色的浅色。用力点互补填充颜色形状

private void Shape_fill_Click(object sender, RibbonControlEventArgs e) 
    { 
     Color_palette.Visible = true; 
     type = "Fill";   
    } 

    private void btn_Orange_Click(object sender, RibbonControlEventArgs e) 
    { 
     if(type=="Fill") 
     { 
     PowerPoint.Application ppApp = Globals.ThisAddIn.Application; 
     PowerPoint.ShapeRange ppshr = ppApp.ActiveWindow.Selection.ShapeRange; 
     ppshr.Fill.ForeColor.RGB = System.Drawing.Color.FromArgb(255,168,0).ToArgb(); 
     } 

问:如何获得不同于浅蓝色的不同或变化的颜色?

+0

请告诉我你的问题?如果您需要了解颜色代码,请尝试以下链接:http://www.rapidtables.com/web/color/RGB_Color.htm – Juniar 2014-10-07 16:35:03

+0

以上是我用来填充形状的代码。我知道颜色代码,我试着在上面的代码中使用这个RGB(255,168,0),它被认为是橙色阴影,但是在上面的情况下,它不适用于电源点。它给了我更轻的蓝色。 – user2583182 2014-10-08 07:55:50

+0

我知道它应该是互补的。所以就是; BGR(0,168,255)。 – Juniar 2014-10-08 15:40:46

回答

3

这里的颜色RGB在BGR的形式给出,因为互操作把它读成BGR而不是RGB

private void btn_Orange_Click(object sender, RibbonControlEventArgs e) 
{ 
    if(type=="Fill") 
    { 
     PowerPoint.Application ppApp = Globals.ThisAddIn.Application; 
      PowerPoint.ShapeRange ppshr = ppApp.ActiveWindow.Selection.ShapeRange; 
      // here the color RGB is given in format of BGR because interop reads it as BGR and not RGB 

      ppshr.Fill.ForeColor.RGB =System.Drawing.Color.FromArgb(0,168,255).ToArgb(); 
     } 
}