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

Whats ваш вопрос? Если вам нужно узнать о цветовых кодах, попробуйте эту ссылку: http: //www.rapidtables.com/web/color/RGB_Color.htm – Juniar

+0

Выше код, который я использовал для заполнения формы. Я знаю о цветовом коде, я попытался использовать этот RGB (255,168,0) в вышеприведенном коде, который предположительно будет оранжевым оттенком, но он не работает в случае выше с точкой питания. Это дает мне светлый оттенок синего. – user2583182

+0

Я понимаю, что он предположил, что будет назад с interop. Так что это; BGR (0, 168, 255). – Juniar

ответ

3

Здесь цвет RGB задается в формате BGR, потому что Interop читает его как 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(); 
     } 
}