private TestColor TestColorLAB() { var color = ColorLAB.FromColor(testColor); var color2 = (ColorRGB)color.ToRgb();; var nativeValue = string.Format("L:{0:0.0#} A:{1:0.0#} B:{2:0.0#}", color.L, color.A, color.B); return(new TestColor { Name = "LAB", Value = color2.ToHex(), NativeValue = nativeValue }); }
public static MonochromaticColorScheme FromColor(ColorRGB color) { //if (flatten) { // var labColors = ColorScheme.GenerateColors (24, 0, .66, .81); // color = color.NearestFlatColor (labColors); //} var lab = (ColorLAB)ColorLAB.FromColor(color); var dark = new Swatch(DarkColorID, ColorLAB.ToColor(lab.L - 20, lab.A, lab.B)); var darkened = new Swatch(DarkenedColorID, ColorLAB.ToColor(lab.L - 10, lab.A, lab.B)); var primary = new Swatch(PrimaryColorID, color); var lightened = new Swatch(LightenedColorID, ColorLAB.ToColor(lab.L + 10, lab.A, lab.B)); var light = new Swatch(LightColorID, ColorLAB.ToColor(lab.L + 20, lab.A, lab.B)); return(new MonochromaticColorScheme(new Swatch [] { dark, darkened, primary, lightened, light })); }
public void RGBtoLABConversion() { var rgb = ColorRGB.FromHex("#6653B2"); var lab = (ColorLAB)ColorLAB.FromColor(rgb); var rgbConverted = (ColorRGB)lab.ToRgb(); // LAB var l = Math.Truncate(100 * lab.L) / 100; var a = Math.Truncate(100 * lab.A) / 100; var b = Math.Truncate(100 * lab.B) / 100; Assert.AreEqual(l, 41.57); Assert.AreEqual(a, 31.37); Assert.AreEqual(b, -52.39); // Differs from Colorize.org which shows -48.16 // RGB Converted Assert.AreEqual(rgbConverted.Red, 102); Assert.AreEqual(rgbConverted.Green, 83); Assert.AreEqual(rgbConverted.Blue, 178); }