public void RgbTo() { RgbColor rgb = new RgbColor(0, 0, 0, 0.5); Assert.AreEqual(0.5, rgb.ToCmy().Alpha, "To CMY"); Assert.AreEqual(0.5, rgb.ToCmyk().Alpha, "To CMYK"); Assert.AreEqual(0.5, rgb.ToHsl().Alpha, "To HSL"); Assert.AreEqual(0.5, rgb.ToHsv().Alpha, "To HSV"); Assert.AreEqual(0.5, rgb.ToRgb().Alpha, "To RGB"); }
public void ToCmyk() { foreach (HtmlColorSample sample in HtmlColorSamples.All) { int r = sample.Rgb.Red; int g = sample.Rgb.Green; int b = sample.Rgb.Blue; RgbColor rgb = new RgbColor(r, g, b); double c1 = sample.Cmyk.Cyan; double m1 = sample.Cmyk.Magenta; double y1 = sample.Cmyk.Yellow; double k1 = sample.Cmyk.Key; ColorUtils.RgbToCmyk(r, g, b, out double c2, out double m2, out double y2, out double k2); Assert.AreEqual(c1.ToString("N2"), c2.ToString("N2"), "#1 C (" + sample.Name + ")"); Assert.AreEqual(m1.ToString("N2"), m2.ToString("N2"), "#1 M (" + sample.Name + ")"); Assert.AreEqual(y1.ToString("N2"), y2.ToString("N2"), "#1 Y (" + sample.Name + ")"); Assert.AreEqual(k1.ToString("N2"), k2.ToString("N2"), "#1 K (" + sample.Name + ")"); CmykColor cmyk1 = ColorUtils.RgbToCmyk(r, g, b); Assert.AreEqual(c1.ToString("N2"), cmyk1.C.ToString("N2"), "#2 C (" + sample.Name + ")"); Assert.AreEqual(m1.ToString("N2"), cmyk1.M.ToString("N2"), "#2 M (" + sample.Name + ")"); Assert.AreEqual(y1.ToString("N2"), cmyk1.Y.ToString("N2"), "#2 Y (" + sample.Name + ")"); Assert.AreEqual(k1.ToString("N2"), cmyk1.K.ToString("N2"), "#2 K (" + sample.Name + ")"); ColorUtils.RgbToCmyk(rgb, out double c3, out double m3, out double y3, out double k3); Assert.AreEqual(c1.ToString("N2"), c3.ToString("N2"), "#3 C (" + sample.Name + ")"); Assert.AreEqual(m1.ToString("N2"), m3.ToString("N2"), "#3 M (" + sample.Name + ")"); Assert.AreEqual(y1.ToString("N2"), y3.ToString("N2"), "#3 Y (" + sample.Name + ")"); Assert.AreEqual(k1.ToString("N2"), k3.ToString("N2"), "#3 K (" + sample.Name + ")"); CmykColor cmyk2 = ColorUtils.RgbToCmyk(rgb); Assert.AreEqual(c1.ToString("N2"), cmyk2.C.ToString("N2"), "#4 C (" + sample.Name + ")"); Assert.AreEqual(m1.ToString("N2"), cmyk2.M.ToString("N2"), "#4 M (" + sample.Name + ")"); Assert.AreEqual(y1.ToString("N2"), cmyk2.Y.ToString("N2"), "#4 Y (" + sample.Name + ")"); Assert.AreEqual(k1.ToString("N2"), cmyk2.K.ToString("N2"), "#4 K (" + sample.Name + ")"); CmykColor cmyk3 = rgb.ToCmyk(); Assert.AreEqual(c1.ToString("N2"), cmyk3.C.ToString("N2"), "#5 C (" + sample.Name + ")"); Assert.AreEqual(m1.ToString("N2"), cmyk3.M.ToString("N2"), "#5 M (" + sample.Name + ")"); Assert.AreEqual(y1.ToString("N2"), cmyk3.Y.ToString("N2"), "#5 Y (" + sample.Name + ")"); Assert.AreEqual(k1.ToString("N2"), cmyk3.K.ToString("N2"), "#5 K (" + sample.Name + ")"); } }
void update(ColorModel source) { changingValues = true; GetBaseColor(source); if (source != ColorModel.Rgb) { RgbR = basecolor.R; RgbG = basecolor.G; RgbB = basecolor.B; } if (source != ColorModel.RgbPerc) { try { var c = basecolor.ToRgb(RgbType.Percent); RgbPercR = c.R; RgbPercG = c.G; RgbPercB = c.B; } catch (Exception ex) { Debug.WriteLine(ex); throw; } } if (source != ColorModel.RgbByte) { var c = basecolor.ToRgb(RgbType.Byte); RgbByteR = c.R; RgbByteG = c.G; RgbByteB = c.B; } if (source != ColorModel.Cmy) { var c = basecolor.ToCmyk(); CmyC = c.C; CmyM = c.M; CmyY = c.Y; } if (source != ColorModel.Cmyk) { var c = basecolor.ToCmyk(CmykType.CmykNormalized); CmykC = c.C; CmykM = c.M; CmykY = c.Y; CmykK = c.K; } if (source != ColorModel.Hsv) { try { var c = basecolor.ToHsv(); HsvH = c.H; HsvS = c.S; HsvV = c.V; } catch (Exception ex) { Debug.WriteLine(ex); } } if (source != ColorModel.Xyz) { var c = basecolor.ToXyz(); XyzX = c.X; XyzY = c.Y; XyzZ = c.Z; } if (source != ColorModel.Yiq) { var c = basecolor.ToYiq(); YiqY = c.Y; YiqI = c.I; YiqQ = c.Q; } if (source != ColorModel.hex) { var c = basecolor; Hex = c.Hex; } OnPropertyChanged("RectColor"); changingValues = false; }