2 // System.Drawing.Color.cs
\r
5 // Dennis Hayes (dennish@raytek.com)
\r
6 // Ben Houston (ben@exocortex.org)
\r
7 // Gonzalo Paniagua (gonzalo@ximian.com)
\r
9 // (C) 2002 Dennis Hayes
\r
10 // (c) 2002 Ximian, Inc. (http://www.ximiam.com)
\r
12 // TODO: Are the static/non static functions declared correctly
\r
15 using System.Collections;
\r
16 using System.ComponentModel;
\r
17 using System.Reflection;
\r
19 namespace System.Drawing
\r
21 [TypeConverter(typeof(ColorConverter))]
\r
25 private static Hashtable namedColors;
\r
26 private static Hashtable systemColors;
\r
27 // Private transparancy (A) and R,G,B fields.
\r
32 private static string creatingColorNames = "creatingColorNames";
\r
34 // The specs also indicate that all three of these propities are true
\r
35 // if created with FromKnownColor or FromNamedColor, false otherwise (FromARGB).
\r
36 // Per Microsoft and ECMA specs these varibles are set by which constructor is used, not by their values.
\r
40 KnownColor knownColor;
\r
44 public string Name {
\r
50 public bool IsKnownColor {
\r
52 return isknowncolor;
\r
56 public bool IsSystemColor {
\r
58 return issystemcolor;
\r
62 public bool IsNamedColor {
\r
65 return IsKnownColor;
\r
66 return isnamedcolor;
\r
71 public static Color FromArgb (int red, int green, int blue)
\r
73 return FromArgb (255, red, green, blue);
\r
76 public static Color FromArgb (int alpha, int red, int green, int blue)
\r
78 CheckARGBValues (alpha, red, green, blue);
\r
79 Color color = new Color ();
\r
80 color.a = (byte) alpha;
\r
81 color.r = (byte) red;
\r
82 color.g = (byte) green;
\r
83 color.b = (byte) blue;
\r
84 color.myname = String.Empty;
\r
88 private static Color FromArgbNamed (int alpha, int red, int green, int blue, string name)
\r
90 Color color = FromArgb (alpha, red, green, blue);
\r
91 color.isknowncolor = true;
\r
92 color.isnamedcolor = true;
\r
93 //color.issystemcolor = false; //???
\r
94 color.myname = name;
\r
95 color.knownColor = (KnownColor) Enum.Parse (typeof (KnownColor), name, false);
\r
99 internal static Color FromArgbSystem (int alpha, int red, int green, int blue, string name)
\r
101 Color color = FromArgbNamed (alpha, red, green, blue, name);
\r
102 color.issystemcolor = true;
\r
106 public int ToArgb()
\r
108 return a << 24 | r << 16 | g << 8 | b;
\r
111 public static Color FromArgb (int alpha, Color baseColor)
\r
113 return FromArgb (alpha, baseColor.r, baseColor.g, baseColor.b);
\r
116 public static Color FromArgb (int argb)
\r
118 return FromArgb (argb >> 24, (argb >> 16) & 0x0FF, (argb >> 8) & 0x0FF, argb & 0x0FF);
\r
121 public static Color FromKnownColor (KnownColor knownColorToConvert)
\r
123 Color c = FromName (knownColorToConvert.ToString ());
\r
124 c.knownColor = knownColorToConvert;
\r
128 private static Hashtable GetColorHashtableFromType (Type type)
\r
130 Hashtable colorHash = new Hashtable (CaseInsensitiveHashCodeProvider.Default,
\r
131 CaseInsensitiveComparer.Default);
\r
133 PropertyInfo [] props = type.GetProperties ();
\r
134 foreach (PropertyInfo prop in props){
\r
135 if (prop.PropertyType != typeof (Color))
\r
138 MethodInfo getget = prop.GetGetMethod ();
\r
139 if (getget == null || getget.IsStatic == false)
\r
142 colorHash.Add (prop.Name, prop.GetValue (null, null));
\r
147 private static void FillColorNames ()
\r
149 if (systemColors != null)
\r
152 lock (creatingColorNames) {
\r
153 if (systemColors != null)
\r
156 Hashtable colorHash = GetColorHashtableFromType (typeof (Color));
\r
157 namedColors = colorHash;
\r
159 colorHash = GetColorHashtableFromType (typeof (SystemColors));
\r
160 systemColors = colorHash;
\r
164 public static Color FromName (string colorName)
\r
166 object c = NamedColors [colorName];
\r
168 c = SystemColors [colorName];
\r
170 // This is what it returns!
\r
171 Color d = FromArgb (0, 0, 0, 0);
\r
172 d.myname = colorName;
\r
173 d.isnamedcolor = true;
\r
181 internal static Hashtable NamedColors
\r
185 return namedColors;
\r
189 internal static Hashtable SystemColors
\r
193 return systemColors;
\r
197 // -----------------------
\r
198 // Public Shared Members
\r
199 // -----------------------
\r
202 /// Empty Shared Field
\r
206 /// An uninitialized Color Structure
\r
209 public static readonly Color Empty;
\r
212 /// Equality Operator
\r
216 /// Compares two Color objects. The return value is
\r
217 /// based on the equivalence of the A,R,G,B properties
\r
218 /// of the two Colors.
\r
221 public static bool operator == (Color colorA, Color colorB)
\r
223 return ((colorA.a == colorB.a) && (colorA.r == colorB.r)
\r
224 && (colorA.g == colorB.g) && (colorA.b == colorB.b));
\r
228 /// Inequality Operator
\r
232 /// Compares two Color objects. The return value is
\r
233 /// based on the equivalence of the A,R,G,B properties
\r
234 /// of the two colors.
\r
237 public static bool operator != (Color colorA, Color colorB)
\r
239 return ((colorA.a != colorB.a) || (colorA.r != colorB.r)
\r
240 || (colorA.g != colorB.g) || (colorA.b != colorB.b));
\r
243 public float GetBrightness (){
\r
244 // Intensity is the normalized sum of the three RGB values.;
\r
245 return ((float)(r + g + b))/(255*3);
\r
247 public float GetSaturation (){
\r
248 // S = 1 - I * Min(r,g,b)
\r
250 (((float)(r + g +b))/3)*Math.Min(r,Math.Min(g,b))
\r
254 public float GetHue (){
\r
255 float top = ((float)(2*r-g-b))/(2*255);
\r
256 float bottom = (float)Math.Sqrt(((r-g)*(r-g) + (r-b)*(g-b))/255);
\r
257 return (float)Math.Acos(top/bottom);
\r
260 // -----------------------
\r
261 // Public Instance Members
\r
262 // -----------------------
\r
265 /// ToKnownColor method
\r
269 /// Returns the KnownColor enum value for this color, 0 if is not known.
\r
271 public KnownColor ToKnownColor ()
\r
277 /// IsEmpty Property
\r
281 /// Indicates transparent black. R,G,B = 0; A=0?
\r
284 public bool IsEmpty
\r
287 return (a + r + g + b) == 0;
\r
296 /// The transparancy of the Color.
\r
311 /// The red value of the Color.
\r
326 /// The green value of the Color.
\r
341 /// The blue value of the Color.
\r
356 /// Checks equivalence of this Color and another object.
\r
359 public override bool Equals (object o)
\r
364 Color c = (Color) o;
\r
365 if (c.r == r && c.g == g && c.b == b) {
\r
366 if (myname != null || c.myname != null)
\r
367 return (myname == c.myname);
\r
374 /// Reference Equals Method
\r
375 /// Is commented out because this is handled by the base class.
\r
376 /// TODO: Is it correct to let the base class handel reference equals
\r
380 /// Checks equivalence of this Color and another object.
\r
382 //public bool ReferenceEquals (object o)
\r
384 // if (!(o is Color))return false;
\r
385 // return (this == (Color) o);
\r
391 /// GetHashCode Method
\r
395 /// Calculates a hashing value.
\r
398 public override int GetHashCode ()
\r
400 return ToArgb().GetHashCode();
\r
404 /// ToString Method
\r
408 /// Formats the Color as a string in ARGB notation.
\r
411 public override string ToString ()
\r
414 return "Color [" + myname + "]";
\r
416 return String.Format ("Color [A={0}, R={1}, G={2}, B={3}]", a, r, g, b);
\r
419 private static void CheckRGBValues (int red,int green,int blue)
\r
421 if( (red > 255) || (red < 0))
\r
422 throw new System.ArgumentOutOfRangeException
\r
423 ("red",red,"Value must be in the range 0 - 255");
\r
424 if( (green > 255) || (green < 0))
\r
425 throw new System.ArgumentOutOfRangeException
\r
426 ("green",green,"Value must be in the range 0 - 255");
\r
427 if( (blue > 255) || (blue < 0))
\r
428 throw new System.ArgumentOutOfRangeException
\r
429 ("blue",blue,"Value must be in the range 0 - 255");
\r
432 private static void CheckARGBValues (int alpha,int red,int green,int blue)
\r
434 if( (alpha > 255) || (alpha < 0))
\r
435 throw new System.ArgumentOutOfRangeException
\r
436 ("alpha",alpha,"Value must be in the range 0 - 255");
\r
437 CheckRGBValues(red,green,blue);
\r
440 //Documentation, do not remove!
\r
441 //This is the program that was used to generate the C# source code below.
\r
443 //using System.Diagnostics;
\r
444 //using System.Drawing;
\r
445 //using System.Reflection;
\r
447 //static void Main(string[] args)
\r
449 // Type cType = typeof (Color);
\r
450 // PropertyInfo [] properties = cType.GetProperties ();
\r
451 // foreach (PropertyInfo property in properties) {
\r
452 // MethodInfo method = property.GetGetMethod();
\r
453 // if (method != null && method.IsStatic && method.ReturnType == cType) {
\r
454 // Color c = (Color) method.Invoke( null, new object[0] );
\r
455 // Console.WriteLine("static public Color " + property.Name);
\r
456 // Console.WriteLine("{\t\n\tget {");
\r
457 // Console.WriteLine("\t\treturn Color.FromArgbNamed ({0}, {1}, {2}, {3}, \"{4}\");",
\r
458 // c.A, c.R, c.G, c.B, property.Name);
\r
459 // Console.WriteLine("\t}");
\r
460 // Console.WriteLine("}\n");
\r
466 static public Color Transparent
\r
469 return Color.FromArgbNamed (0, 255, 255, 255, "Transparent");
\r
473 static public Color AliceBlue
\r
476 return Color.FromArgbNamed (255, 240, 248, 255, "AliceBlue");
\r
480 static public Color AntiqueWhite
\r
483 return Color.FromArgbNamed (255, 250, 235, 215, "AntiqueWhite");
\r
487 static public Color Aqua
\r
490 return Color.FromArgbNamed (255, 0, 255, 255, "Aqua");
\r
494 static public Color Aquamarine
\r
497 return Color.FromArgbNamed (255, 127, 255, 212, "Aquamarine");
\r
501 static public Color Azure
\r
504 return Color.FromArgbNamed (255, 240, 255, 255, "Azure");
\r
508 static public Color Beige
\r
511 return Color.FromArgbNamed (255, 245, 245, 220, "Beige");
\r
515 static public Color Bisque
\r
518 return Color.FromArgbNamed (255, 255, 228, 196, "Bisque");
\r
522 static public Color Black
\r
525 return Color.FromArgbNamed (255, 0, 0, 0, "Black");
\r
529 static public Color BlanchedAlmond
\r
532 return Color.FromArgbNamed (255, 255, 235, 205, "BlanchedAlmond");
\r
536 static public Color Blue
\r
539 return Color.FromArgbNamed (255, 0, 0, 255, "Blue");
\r
543 static public Color BlueViolet
\r
546 return Color.FromArgbNamed (255, 138, 43, 226, "BlueViolet");
\r
550 static public Color Brown
\r
553 return Color.FromArgbNamed (255, 165, 42, 42, "Brown");
\r
557 static public Color BurlyWood
\r
560 return Color.FromArgbNamed (255, 222, 184, 135, "BurlyWood");
\r
564 static public Color CadetBlue
\r
567 return Color.FromArgbNamed (255, 95, 158, 160, "CadetBlue");
\r
571 static public Color Chartreuse
\r
574 return Color.FromArgbNamed (255, 127, 255, 0, "Chartreuse");
\r
578 static public Color Chocolate
\r
581 return Color.FromArgbNamed (255, 210, 105, 30, "Chocolate");
\r
585 static public Color Coral
\r
588 return Color.FromArgbNamed (255, 255, 127, 80, "Coral");
\r
592 static public Color CornflowerBlue
\r
595 return Color.FromArgbNamed (255, 100, 149, 237, "CornflowerBlue");
\r
599 static public Color Cornsilk
\r
602 return Color.FromArgbNamed (255, 255, 248, 220, "Cornsilk");
\r
606 static public Color Crimson
\r
609 return Color.FromArgbNamed (255, 220, 20, 60, "Crimson");
\r
613 static public Color Cyan
\r
616 return Color.FromArgbNamed (255, 0, 255, 255, "Cyan");
\r
620 static public Color DarkBlue
\r
623 return Color.FromArgbNamed (255, 0, 0, 139, "DarkBlue");
\r
627 static public Color DarkCyan
\r
630 return Color.FromArgbNamed (255, 0, 139, 139, "DarkCyan");
\r
634 static public Color DarkGoldenrod
\r
637 return Color.FromArgbNamed (255, 184, 134, 11, "DarkGoldenrod");
\r
641 static public Color DarkGray
\r
644 return Color.FromArgbNamed (255, 169, 169, 169, "DarkGray");
\r
648 static public Color DarkGreen
\r
651 return Color.FromArgbNamed (255, 0, 100, 0, "DarkGreen");
\r
655 static public Color DarkKhaki
\r
658 return Color.FromArgbNamed (255, 189, 183, 107, "DarkKhaki");
\r
662 static public Color DarkMagenta
\r
665 return Color.FromArgbNamed (255, 139, 0, 139, "DarkMagenta");
\r
669 static public Color DarkOliveGreen
\r
672 return Color.FromArgbNamed (255, 85, 107, 47, "DarkOliveGreen");
\r
676 static public Color DarkOrange
\r
679 return Color.FromArgbNamed (255, 255, 140, 0, "DarkOrange");
\r
683 static public Color DarkOrchid
\r
686 return Color.FromArgbNamed (255, 153, 50, 204, "DarkOrchid");
\r
690 static public Color DarkRed
\r
693 return Color.FromArgbNamed (255, 139, 0, 0, "DarkRed");
\r
697 static public Color DarkSalmon
\r
700 return Color.FromArgbNamed (255, 233, 150, 122, "DarkSalmon");
\r
704 static public Color DarkSeaGreen
\r
707 return Color.FromArgbNamed (255, 143, 188, 139, "DarkSeaGreen");
\r
711 static public Color DarkSlateBlue
\r
714 return Color.FromArgbNamed (255, 72, 61, 139, "DarkSlateBlue");
\r
718 static public Color DarkSlateGray
\r
721 return Color.FromArgbNamed (255, 47, 79, 79, "DarkSlateGray");
\r
725 static public Color DarkTurquoise
\r
728 return Color.FromArgbNamed (255, 0, 206, 209, "DarkTurquoise");
\r
732 static public Color DarkViolet
\r
735 return Color.FromArgbNamed (255, 148, 0, 211, "DarkViolet");
\r
739 static public Color DeepPink
\r
742 return Color.FromArgbNamed (255, 255, 20, 147, "DeepPink");
\r
746 static public Color DeepSkyBlue
\r
749 return Color.FromArgbNamed (255, 0, 191, 255, "DeepSkyBlue");
\r
753 static public Color DimGray
\r
756 return Color.FromArgbNamed (255, 105, 105, 105, "DimGray");
\r
760 static public Color DodgerBlue
\r
763 return Color.FromArgbNamed (255, 30, 144, 255, "DodgerBlue");
\r
767 static public Color Firebrick
\r
770 return Color.FromArgbNamed (255, 178, 34, 34, "Firebrick");
\r
774 static public Color FloralWhite
\r
777 return Color.FromArgbNamed (255, 255, 250, 240, "FloralWhite");
\r
781 static public Color ForestGreen
\r
784 return Color.FromArgbNamed (255, 34, 139, 34, "ForestGreen");
\r
788 static public Color Fuchsia
\r
791 return Color.FromArgbNamed (255, 255, 0, 255, "Fuchsia");
\r
795 static public Color Gainsboro
\r
798 return Color.FromArgbNamed (255, 220, 220, 220, "Gainsboro");
\r
802 static public Color GhostWhite
\r
805 return Color.FromArgbNamed (255, 248, 248, 255, "GhostWhite");
\r
809 static public Color Gold
\r
812 return Color.FromArgbNamed (255, 255, 215, 0, "Gold");
\r
816 static public Color Goldenrod
\r
819 return Color.FromArgbNamed (255, 218, 165, 32, "Goldenrod");
\r
823 static public Color Gray
\r
826 return Color.FromArgbNamed (255, 128, 128, 128, "Gray");
\r
830 static public Color Green
\r
833 return Color.FromArgbNamed (255, 0, 128, 0, "Green");
\r
837 static public Color GreenYellow
\r
840 return Color.FromArgbNamed (255, 173, 255, 47, "GreenYellow");
\r
844 static public Color Honeydew
\r
847 return Color.FromArgbNamed (255, 240, 255, 240, "Honeydew");
\r
851 static public Color HotPink
\r
854 return Color.FromArgbNamed (255, 255, 105, 180, "HotPink");
\r
858 static public Color IndianRed
\r
861 return Color.FromArgbNamed (255, 205, 92, 92, "IndianRed");
\r
865 static public Color Indigo
\r
868 return Color.FromArgbNamed (255, 75, 0, 130, "Indigo");
\r
872 static public Color Ivory
\r
875 return Color.FromArgbNamed (255, 255, 255, 240, "Ivory");
\r
879 static public Color Khaki
\r
882 return Color.FromArgbNamed (255, 240, 230, 140, "Khaki");
\r
886 static public Color Lavender
\r
889 return Color.FromArgbNamed (255, 230, 230, 250, "Lavender");
\r
893 static public Color LavenderBlush
\r
896 return Color.FromArgbNamed (255, 255, 240, 245, "LavenderBlush");
\r
900 static public Color LawnGreen
\r
903 return Color.FromArgbNamed (255, 124, 252, 0, "LawnGreen");
\r
907 static public Color LemonChiffon
\r
910 return Color.FromArgbNamed (255, 255, 250, 205, "LemonChiffon");
\r
914 static public Color LightBlue
\r
917 return Color.FromArgbNamed (255, 173, 216, 230, "LightBlue");
\r
921 static public Color LightCoral
\r
924 return Color.FromArgbNamed (255, 240, 128, 128, "LightCoral");
\r
928 static public Color LightCyan
\r
931 return Color.FromArgbNamed (255, 224, 255, 255, "LightCyan");
\r
935 static public Color LightGoldenrodYellow
\r
938 return Color.FromArgbNamed (255, 250, 250, 210, "LightGoldenrodYellow");
\r
942 static public Color LightGreen
\r
945 return Color.FromArgbNamed (255, 144, 238, 144, "LightGreen");
\r
949 static public Color LightGray
\r
952 return Color.FromArgbNamed (255, 211, 211, 211, "LightGray");
\r
956 static public Color LightPink
\r
959 return Color.FromArgbNamed (255, 255, 182, 193, "LightPink");
\r
963 static public Color LightSalmon
\r
966 return Color.FromArgbNamed (255, 255, 160, 122, "LightSalmon");
\r
970 static public Color LightSeaGreen
\r
973 return Color.FromArgbNamed (255, 32, 178, 170, "LightSeaGreen");
\r
977 static public Color LightSkyBlue
\r
980 return Color.FromArgbNamed (255, 135, 206, 250, "LightSkyBlue");
\r
984 static public Color LightSlateGray
\r
987 return Color.FromArgbNamed (255, 119, 136, 153, "LightSlateGray");
\r
991 static public Color LightSteelBlue
\r
994 return Color.FromArgbNamed (255, 176, 196, 222, "LightSteelBlue");
\r
998 static public Color LightYellow
\r
1001 return Color.FromArgbNamed (255, 255, 255, 224, "LightYellow");
\r
1005 static public Color Lime
\r
1008 return Color.FromArgbNamed (255, 0, 255, 0, "Lime");
\r
1012 static public Color LimeGreen
\r
1015 return Color.FromArgbNamed (255, 50, 205, 50, "LimeGreen");
\r
1019 static public Color Linen
\r
1022 return Color.FromArgbNamed (255, 250, 240, 230, "Linen");
\r
1026 static public Color Magenta
\r
1029 return Color.FromArgbNamed (255, 255, 0, 255, "Magenta");
\r
1033 static public Color Maroon
\r
1036 return Color.FromArgbNamed (255, 128, 0, 0, "Maroon");
\r
1040 static public Color MediumAquamarine
\r
1043 return Color.FromArgbNamed (255, 102, 205, 170, "MediumAquamarine");
\r
1047 static public Color MediumBlue
\r
1050 return Color.FromArgbNamed (255, 0, 0, 205, "MediumBlue");
\r
1054 static public Color MediumOrchid
\r
1057 return Color.FromArgbNamed (255, 186, 85, 211, "MediumOrchid");
\r
1061 static public Color MediumPurple
\r
1064 return Color.FromArgbNamed (255, 147, 112, 219, "MediumPurple");
\r
1068 static public Color MediumSeaGreen
\r
1071 return Color.FromArgbNamed (255, 60, 179, 113, "MediumSeaGreen");
\r
1075 static public Color MediumSlateBlue
\r
1078 return Color.FromArgbNamed (255, 123, 104, 238, "MediumSlateBlue");
\r
1082 static public Color MediumSpringGreen
\r
1085 return Color.FromArgbNamed (255, 0, 250, 154, "MediumSpringGreen");
\r
1089 static public Color MediumTurquoise
\r
1092 return Color.FromArgbNamed (255, 72, 209, 204, "MediumTurquoise");
\r
1096 static public Color MediumVioletRed
\r
1099 return Color.FromArgbNamed (255, 199, 21, 133, "MediumVioletRed");
\r
1103 static public Color MidnightBlue
\r
1106 return Color.FromArgbNamed (255, 25, 25, 112, "MidnightBlue");
\r
1110 static public Color MintCream
\r
1113 return Color.FromArgbNamed (255, 245, 255, 250, "MintCream");
\r
1117 static public Color MistyRose
\r
1120 return Color.FromArgbNamed (255, 255, 228, 225, "MistyRose");
\r
1124 static public Color Moccasin
\r
1127 return Color.FromArgbNamed (255, 255, 228, 181, "Moccasin");
\r
1131 static public Color NavajoWhite
\r
1134 return Color.FromArgbNamed (255, 255, 222, 173, "NavajoWhite");
\r
1138 static public Color Navy
\r
1141 return Color.FromArgbNamed (255, 0, 0, 128, "Navy");
\r
1145 static public Color OldLace
\r
1148 return Color.FromArgbNamed (255, 253, 245, 230, "OldLace");
\r
1152 static public Color Olive
\r
1155 return Color.FromArgbNamed (255, 128, 128, 0, "Olive");
\r
1159 static public Color OliveDrab
\r
1162 return Color.FromArgbNamed (255, 107, 142, 35, "OliveDrab");
\r
1166 static public Color Orange
\r
1169 return Color.FromArgbNamed (255, 255, 165, 0, "Orange");
\r
1173 static public Color OrangeRed
\r
1176 return Color.FromArgbNamed (255, 255, 69, 0, "OrangeRed");
\r
1180 static public Color Orchid
\r
1183 return Color.FromArgbNamed (255, 218, 112, 214, "Orchid");
\r
1187 static public Color PaleGoldenrod
\r
1190 return Color.FromArgbNamed (255, 238, 232, 170, "PaleGoldenrod");
\r
1194 static public Color PaleGreen
\r
1197 return Color.FromArgbNamed (255, 152, 251, 152, "PaleGreen");
\r
1201 static public Color PaleTurquoise
\r
1204 return Color.FromArgbNamed (255, 175, 238, 238, "PaleTurquoise");
\r
1208 static public Color PaleVioletRed
\r
1211 return Color.FromArgbNamed (255, 219, 112, 147, "PaleVioletRed");
\r
1215 static public Color PapayaWhip
\r
1218 return Color.FromArgbNamed (255, 255, 239, 213, "PapayaWhip");
\r
1222 static public Color PeachPuff
\r
1225 return Color.FromArgbNamed (255, 255, 218, 185, "PeachPuff");
\r
1229 static public Color Peru
\r
1232 return Color.FromArgbNamed (255, 205, 133, 63, "Peru");
\r
1236 static public Color Pink
\r
1239 return Color.FromArgbNamed (255, 255, 192, 203, "Pink");
\r
1243 static public Color Plum
\r
1246 return Color.FromArgbNamed (255, 221, 160, 221, "Plum");
\r
1250 static public Color PowderBlue
\r
1253 return Color.FromArgbNamed (255, 176, 224, 230, "PowderBlue");
\r
1257 static public Color Purple
\r
1260 return Color.FromArgbNamed (255, 128, 0, 128, "Purple");
\r
1264 static public Color Red
\r
1267 return Color.FromArgbNamed (255, 255, 0, 0, "Red");
\r
1271 static public Color RosyBrown
\r
1274 return Color.FromArgbNamed (255, 188, 143, 143, "RosyBrown");
\r
1278 static public Color RoyalBlue
\r
1281 return Color.FromArgbNamed (255, 65, 105, 225, "RoyalBlue");
\r
1285 static public Color SaddleBrown
\r
1288 return Color.FromArgbNamed (255, 139, 69, 19, "SaddleBrown");
\r
1292 static public Color Salmon
\r
1295 return Color.FromArgbNamed (255, 250, 128, 114, "Salmon");
\r
1299 static public Color SandyBrown
\r
1302 return Color.FromArgbNamed (255, 244, 164, 96, "SandyBrown");
\r
1306 static public Color SeaGreen
\r
1309 return Color.FromArgbNamed (255, 46, 139, 87, "SeaGreen");
\r
1313 static public Color SeaShell
\r
1316 return Color.FromArgbNamed (255, 255, 245, 238, "SeaShell");
\r
1320 static public Color Sienna
\r
1323 return Color.FromArgbNamed (255, 160, 82, 45, "Sienna");
\r
1327 static public Color Silver
\r
1330 return Color.FromArgbNamed (255, 192, 192, 192, "Silver");
\r
1334 static public Color SkyBlue
\r
1337 return Color.FromArgbNamed (255, 135, 206, 235, "SkyBlue");
\r
1341 static public Color SlateBlue
\r
1344 return Color.FromArgbNamed (255, 106, 90, 205, "SlateBlue");
\r
1348 static public Color SlateGray
\r
1351 return Color.FromArgbNamed (255, 112, 128, 144, "SlateGray");
\r
1355 static public Color Snow
\r
1358 return Color.FromArgbNamed (255, 255, 250, 250, "Snow");
\r
1362 static public Color SpringGreen
\r
1365 return Color.FromArgbNamed (255, 0, 255, 127, "SpringGreen");
\r
1369 static public Color SteelBlue
\r
1372 return Color.FromArgbNamed (255, 70, 130, 180, "SteelBlue");
\r
1376 static public Color Tan
\r
1379 return Color.FromArgbNamed (255, 210, 180, 140, "Tan");
\r
1383 static public Color Teal
\r
1386 return Color.FromArgbNamed (255, 0, 128, 128, "Teal");
\r
1390 static public Color Thistle
\r
1393 return Color.FromArgbNamed (255, 216, 191, 216, "Thistle");
\r
1397 static public Color Tomato
\r
1400 return Color.FromArgbNamed (255, 255, 99, 71, "Tomato");
\r
1404 static public Color Turquoise
\r
1407 return Color.FromArgbNamed (255, 64, 224, 208, "Turquoise");
\r
1411 static public Color Violet
\r
1414 return Color.FromArgbNamed (255, 238, 130, 238, "Violet");
\r
1418 static public Color Wheat
\r
1421 return Color.FromArgbNamed (255, 245, 222, 179, "Wheat");
\r
1425 static public Color White
\r
1428 return Color.FromArgbNamed (255, 255, 255, 255, "White");
\r
1432 static public Color WhiteSmoke
\r
1435 return Color.FromArgbNamed (255, 245, 245, 245, "WhiteSmoke");
\r
1439 static public Color Yellow
\r
1442 return Color.FromArgbNamed (255, 255, 255, 0, "Yellow");
\r
1446 static public Color YellowGreen
\r
1449 return Color.FromArgbNamed (255, 154, 205, 50, "YellowGreen");
\r