System.Drawing.Color与String的转换及使用方法

详细参照:http://msdn.microsoft.com/zh-cn/library/vstudio/system.drawing.color.aspx

Color 结构

表示一种 ARGB 颜色(alpha、红色、绿色、蓝色)。

命名空间:  System.Drawing
程序集:  System.Drawing(在 System.Drawing.dll 中)

 
[SerializableAttribute]
[TypeConverterAttribute(typeof(ColorConverter))]
public struct Color

Color 类型公开以下成员。

属性

 名称说明
公共方法由 XNA Framework 提供支持 Equals 测试指定的对象是否为 Color结构并等效于此 Color 结构。(重写ValueType.Equals(Object)。)
公共方法静态成员由 XNA Framework 提供支持 FromArgb(Int32) 从一个 32 位 ARGB 值创建Color 结构。
公共方法静态成员 FromArgb(Int32, Color) 从指定的 Color 结构创建 Color结构,但要使用新指定的 alpha 值。尽管此方法允许为 alpha 值传递 32 位值,但该值仅限于 8 位。
公共方法静态成员由 XNA Framework 提供支持 FromArgb(Int32, Int32, Int32) 从指定的 8 位颜色值(红色、绿色和蓝色)创建 Color 结构。alpha 值默认为 255(完全不透明)。尽管此方法允许为每个颜色分量传递 32 位值,但每个分量的值仅限于 8 位。
公共方法静态成员 FromArgb(Int32, Int32, Int32, Int32) 从四个 ARGB 分量(alpha、红色、绿色和蓝色)值创建 Color结构。尽管此方法允许为每个分量传递 32 位值,但每个分量的值仅限于 8 位。
公共方法静态成员 FromKnownColor 基于指定的预定义颜色创建Color 结构。
公共方法静态成员 FromName 基于预定义颜色的指定名称创建 Color 结构。
公共方法 GetBrightness 获取此 Color 结构的“色调-饱和度-亮度”(HSB) 的亮度值。
公共方法由 XNA Framework 提供支持 GetHashCode 返回此 Color 结构的哈希代码。 (重写ValueType.GetHashCode()。)
公共方法 GetHue 获取此 Color 结构的“色调-饱和度-亮度”(HSB) 的色调值,以度为单位。
公共方法 GetSaturation 获取此 Color 结构的“色调-饱和度-亮度”(HSB) 的饱和度值。
公共方法由 XNA Framework 提供支持 GetType 获取当前实例的 Type (继承自 Object。)
公共方法由 XNA Framework 提供支持 ToArgb 获取此 Color 结构的 32 位 ARGB 值。
公共方法 ToKnownColor 获取此 Color 结构的KnownColor 值。
公共方法由 XNA Framework 提供支持 ToString 将此 Color 结构转换为可读的字符串。 (重写ValueType.ToString()。)
在 XNA Framework 3.0 中,此成员继承自 Object.ToString().
页首
 名称说明
公共运算符静态成员由 XNA Framework 提供支持 Equality 测试两个指定的 Color 结构是否等效。
公共运算符静态成员由 XNA Framework 提供支持 Inequality 测试两个指定的 Color 结构是否不同。
页首
 名称说明
公共字段静态成员由 XNA Framework 提供支持 Empty 表示值为 null 的颜色。
页首

已命名的颜色使用 Color 结构的属性来表示。有关这些颜色的更多信息,请参见 Colors by Name(按名称排序颜色)。

每个像素的颜色表示为一个 32 位数:分别用 8 位表示 Alpha、红色、绿色和蓝色 (ARGB)。这四个分量的值都是 0 到 255,其中 0 表示没有亮度,255 表示最大亮度。alpha 分量指定颜色的透明度:0 表示完全透明,255 表示完全不透明。要确定颜色的 alpha、红色、绿色或蓝色成分,请分别使用 ARG  B 属性。可以使用 FromArgb 方法中的一种来创建自定义颜色。

颜色和字符串之间的关系:
Color与String转换:

Color   cl   =   Color.Red;

 

Color   cl   =   Color.FromArgb(79,129,189);

textBox3.BorderColor=Color.FromName("#ff4f81bd");

1、将颜色转换成字符串

string c1 =ColorTranslator.ToHtml(System.Drawing.Color.Red);

// c1 = "#ff4f81bd";或c1 = "Red";

2、用的时候再取出转换成颜色

Color c2 = ColorTranslator.FromHtml("#ff4f81bd");

textBox3.BackColor = ColorTranslator.FromHtml("#ff4f81bd");
   textBox4.BackColor = ColorTranslator.FromHtml("#ffc0504d");
   textBox5.BackColor = ColorTranslator.FromHtml("#ff9bbb59");
   textBox6.BackColor = ColorTranslator.FromHtml("#fff79646");
   textBox7.BackColor = ColorTranslator.FromHtml("#ff8064a2");

posted @ 2013-03-26 11:37  kongwei521  阅读(1058)  评论(0)    收藏  举报