来自名称的C#颜色值

时间:2011-06-23 08:43:52

标签: c# enums colors

我需要在C#中获取颜色的RGB值。我正在尝试使用预定义的KnownColors枚举,但无法弄清楚如何获取该值。

任何帮助?

谢谢。

6 个答案:

答案 0 :(得分:4)

使用FromKnownColor

Color blue = Color.FromKnownColor(KnownColor.Blue);

然后blue.Rblue.Gblue.B获取RGB值。


或者,如果您只想获得RGB颜色的int值,则可以执行以下操作:

int blueRgb = Color.FromKnownColor(KnownColor.Blue).ToArgb();

答案 1 :(得分:3)

使用Color.FromKnownColor然后使用Color.RColor.GColor.B访问RGB值。

答案 2 :(得分:3)

Color类有一些有趣的静态方法:

Color.FromName ("Red").ToArgb()

接下来,有一些属性,如:

var c = Color.FromName ("Red"); // Or use Color.FromKnownColor (KnownColor.Red) 

Console.WriteLine (String.Format ("RGB: {0} {1} {2}", c.R, c.G, c.B);

答案 3 :(得分:1)

Color clr = FromKnownColor(System.Drawing.KnownColor.Blue);
string.Format("R:{0}, G:{1}, B:{2}" clr.R, clr.G, clr.B);

选中此Out

答案 4 :(得分:1)

enter code here你可以做到

  int r = Color.FromName("Purple").ToArgb();
     //Or 
     int r1 = Color.FromKnownColor(KnownColor.Purple).ToArgb();

Color.FromName和Color.FromKnownColor将返回Color对象,如果您需要,它具有RedGreenBlue组件的属性。

答案 5 :(得分:-1)

Color c = (Color)TypeDescriptor.GetConverter(typeof(Color)).ConvertFromString("Red");