private bool Equals(ColorRGB other) { return(this._r == other._r && this._g == other._g && this._b == other._b); }
public ColorRGB(uint rgb) { ColorRGB.GetRGBBytes(rgb, out this._r, out this._g, out this._b); }
public string ToWebColorString() { return(ColorRGB.ToWebColorString(this._r, this._g, this._b)); }
public static ColorRGB?TryParseWebColor(string webcolor) { // fail if string is null if (webcolor == null) { return(null); } // fail if string is empty if (webcolor.Length < 1) { return(null); } // clean any leading or trailing whitespace webcolor = webcolor.Trim(); // fail if string is empty if (webcolor.Length < 1) { return(null); } // strip leading # if it is there while (webcolor.StartsWith("#")) { webcolor = webcolor.Substring(1); } // clean any leading or trailing whitespace webcolor = webcolor.Trim(); // fail if string is empty if (webcolor.Length < 1) { return(null); } // fail if string doesn't have exactly 6 digits if (webcolor.Length != 6) { return(null); } int current_color; bool result = int.TryParse(webcolor, NumberStyles.HexNumber, null, out current_color); if (!result) { // fail if parsing didn't work return(null); } // at this point parsing worked // the integer value is converted directly to an rgb value var the_color = new ColorRGB(current_color); return(the_color); }