我需要在C#中根据颜色名称获取RGB值。我尝试使用预定义的KnownColors枚举,但无法弄清如何获取该值。
有什么帮助吗?
谢谢。
FromKnownColor
方法:Color blue = Color.FromKnownColor(KnownColor.Blue);
然后是RGB值的blue.R
、blue.G
和blue.B
。
或者,如果您只想要RGB颜色的int
值,可以执行以下操作:
int blueRgb = Color.FromKnownColor(KnownColor.Blue).ToArgb();
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);
Color clr = FromKnownColor(System.Drawing.KnownColor.Blue);
string.Format("R:{0}, G:{1}, B:{2}" clr.R, clr.G, clr.B);
请查看此链接
输入代码在这里
你可以这样做
int r = Color.FromName("Purple").ToArgb();
//Or
int r1 = Color.FromKnownColor(KnownColor.Purple).ToArgb();
使用 Color.FromName 和 Color.FromKnownColor 可以返回一个 Color 对象,并且该对象具有 Red、Green 和 Blue 组件的属性,如果您需要的话。
Color c = (Color)TypeDescriptor.GetConverter(typeof(Color)).ConvertFromString("Red");