本帖最后由 sxdxgzr@126.com 于 2013-7-16 21:16 编辑
- /// <summary>
- /// 颜色 GRB(自然界中绝大部分的可见光谱可以用红、绿和蓝三色光按不同比例和强度的混合来表示。)
- /// 其中G,R,B红绿蓝取值范围为0-255。
- /// </summary>
- public struct MyColor
- {
- int _red;
- /// <summary>
- /// 红色
- /// </summary>
- public int Red
- {
- get { return _red; }
- set
- {
- if (value != _red)
- {
- if (!ValidateValue(value))
- throw new Exception("颜色值不合法");
- _red = value;
- }
- }
- }
- int _green;
- /// <summary>
- /// 绿色
- /// </summary>
- public int Green
- {
- get { return _green; }
- set
- {
- if (value != _green)
- {
- if (!ValidateValue(value))
- throw new Exception("颜色值不合法");
- _green = value;
- }
- }
- }
- int _blue;
- /// <summary>
- /// 蓝色
- /// </summary>
- public int Blue
- {
- get { return _blue; }
- set
- {
- if (value != _blue)
- {
- if (!ValidateValue(value))
- throw new Exception("颜色值不合法");
- _blue = value;
- }
- }
- }
- /// <summary>
- /// 校验设置颜色值是否合法
- /// </summary>
- /// <returns></returns>
- static bool ValidateValue(int argColorValue)
- {
- if (argColorValue > 255 || argColorValue < 0)
- return false;
- return true;
- }
- }
复制代码 第一步:定义MyColor类型 并定义Red,Green,Blue三个Int类型属性成员 ,利用三者组合表示的值来代表颜色(原理GRB:自然界中绝大部分的可见光谱可以用红、绿和蓝三色光按不同比例和强度的混合来表 示)且每个成员的取值范围为0~255.- MyColor red = new MyColor {Red = 255, Blue = 0, Green = 0};
复制代码 第二步和第三部,定义red变量并用对象初始化器初始化, 设置Red=255 其他为0, 这样就表示红色了。 |