AppKit.TextKit.Formatter.LanguageDescriptor.NSColorFromHexString C# (CSharp) Méthode

NSColorFromHexString() public méthode

Converts a web formatted hex string in the form #RRGGBB or #RRGGBBAA into a color.
public NSColorFromHexString ( string hexValue ) : NSColor
hexValue string The web formatted hex string in the form #RRGGBB or #RRGGBBAA.
Résultat NSColor
		public NSColor NSColorFromHexString (string hexValue)
		{
			var colorString = hexValue.Replace ("#", "");
			float red, green, blue, alpha;

			// Convert color based on length
			switch (colorString.Length) {
			case 3 : // #RGB
				red = Convert.ToInt32(string.Format("{0}{0}", colorString.Substring(0, 1)), 16) / 255f;
				green = Convert.ToInt32(string.Format("{0}{0}", colorString.Substring(1, 1)), 16) / 255f;
				blue = Convert.ToInt32(string.Format("{0}{0}", colorString.Substring(2, 1)), 16) / 255f;
				return NSColor.FromRgba(red, green, blue, 1.0f);
			case 6 : // #RRGGBB
				red = Convert.ToInt32(colorString.Substring(0, 2), 16) / 255f;
				green = Convert.ToInt32(colorString.Substring(2, 2), 16) / 255f;
				blue = Convert.ToInt32(colorString.Substring(4, 2), 16) / 255f;
				return NSColor.FromRgba(red, green, blue, 1.0f);
			case 8 : // #AARRGGBB
				alpha = Convert.ToInt32(colorString.Substring(0, 2), 16) / 255f;
				red = Convert.ToInt32(colorString.Substring(2, 2), 16) / 255f;
				green = Convert.ToInt32(colorString.Substring(4, 2), 16) / 255f;
				blue = Convert.ToInt32(colorString.Substring(6, 2), 16) / 255f;
				return NSColor.FromRgba(red, green, blue, alpha);
			default :
				throw new ArgumentOutOfRangeException(string.Format("Invalid color value '{0}'. It should be a hex value of the form #RBG, #RRGGBB or #AARRGGBB", hexValue));
			}
		}