如何使用.NET从十六进制颜色代码获取颜色?

我如何从十六进制颜色代码中获取颜色(例如#FFDFD991 )?

我正在阅读一个文件并获取十六进制颜色代码。 我需要为十六进制颜色代码创建相应的System.Windows.Media.Color实例。 在框架中是否有内置方法来执行此操作?


我假设这是一个ARGB代码...你指的是System.Drawing.ColorSystem.Windows.Media.Color ? 后者用于WPF中。 我还没有看到任何人提到它,所以以防万一你正在寻找它:

using System.Windows.Media;

Color color = (Color)ColorConverter.ConvertFromString("#FFDFD991");

假设您的意思是HTML类型的RGB代码(称为十六进制代码,例如#FFCC66),请使用ColorTranslator类:

System.Drawing.Color col = System.Drawing.ColorTranslator.FromHtml("#FFCC66");

但是,如果您使用的是ARGB十六进制代码,则可以使用System.Windows.Media命名空间中的ColorConverter类:

Color col = ColorConverter.ConvertFromString("#FFDFD991") as Color;
//or      = (Color) ColorConverter.ConvertFromString("#FFCC66") ;

如果你不想使用ColorTranslator,你可以轻松地做到这一点:

string colorcode = "#FFFFFF00";
int argb = Int32.Parse(colorcode.Replace("#", ""), NumberStyles.HexNumber);
Color clr = Color.FromArgb(argb);

颜色代码只是ARGB值的十六进制表示。

链接地址: http://www.djcxy.com/p/15435.html

上一篇: How do I get the color from a hexadecimal color code using .NET?

下一篇: OS X Terminal Colors