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

我正在读取一个文件,并得到一个十六进制的颜色代码。我需要为十六进制颜色代码创建相应的System.Windows.Media.Color实例。框架中是否有一个内置的方法来做到这一点?


当前回答

对于任何Xamarin开发人员,您都需要了解

指定颜色类型,以防止强制转换异常假设您谈论的是Xamarin.Forms.Color 创建一个ColorConverter类型的对象

var conv = new System.Drawing.ColorConverter();
var color = (System.Drawing.Color)conv.ConvertFromString("#FF1D65AE");

其他回答

如果你指的是. gethashcode()中的HashCode,恐怕你不能返回。哈希函数不是双向的,你只能“向前”,不能向后。

如果需要根据颜色的十六进制值获取颜色,请遵循Oded的建议。

你可以看到Silverlight/WPF用十六进制的颜色设置椭圆来使用十六进制值:

your_contorl.Color = DirectCast(ColorConverter.ConvertFromString("#D8E0A627"), Color)

你可以使用下面的代码:

Color color = System.Drawing.ColorTranslator.FromHtml("#FFDFD991");

Use

System.Drawing.Color.FromArgb(myHashCode);

在asp.net:

color_black = (Color)new ColorConverter().ConvertFromString("#FF76B3");