Html css color 转化成 Brushes/Brush color

Html里面的颜色属性color是十六进制值组成,在.NET中的Brushes 类则是UNIX X11 颜色值,它提供141个颜色公开成员属性。而Color类也提供了同样的颜色公属性,Color里面的Color.FromArgb方法可以直接输入rgb颜色值返回颜色,Color.FromName 方法则可以直接输入颜色名称或者十六进制颜色值返回颜色,但不能在Brushes中识别

Brushes 类MSDN参考:https://msdn.microsoft.com/zh-cn/library/system.windows.media.brushes%28v=vs.110%29.aspx

Color类MSDN参考:https://msdn.microsoft.com/zh-cn/library/System.Drawing.Color%28v=vs.110%29.aspx

Brushes中的颜色如果要把十六进制的颜色转化过来,需要ColorTranslator 类来翻译GDI+颜色,ColorTranslator.FromHtml则把html css表现的颜色翻译成GDI+颜色,MSDN参考地址:https://msdn.microsoft.com/zh-cn/library/system.drawing.colortranslator%28v=vs.110%29.aspx。然后new SolidBrush(Color)把System.Drawing的color带入实例化。

例如:

 Color ColorName = ColorTranslator.FromHtml("#666666");
 graphics.DrawString(text1, font1, new SolidBrush(ColorName), rectF1);

这里的 new SolidBrush(Color.FromName(ColorName)) 直接通过“ColorTranslator.FromHtml("#666666") ”这样来转化。还可以用Color.FromArgb(Red, green, blue)方法。当然也可直接采用graphics.DrawString(text1, font1, new SolidBrush(Color.FromName("green")), rectF1),通过Color.FromName("green")来指定色彩名称。