public void ShouldReturnTheCorrectValueWhenOtherIsHigher() { var color = new ColorCMYK(1, 2, 3, 4); var other = new ColorCMYK(Quantum.Max, 2, 3, 4); Assert.Equal(-1, color.CompareTo(other)); }
public void ShouldReturnTrueWhenOtherAsObjectIsEqual() { var color = new ColorCMYK(1, 2, 3, 4); var other = new ColorCMYK(1, 2, 3, 4); Assert.True(color.Equals((object)other)); }
/// <summary> /// Allows the creation of a shallow copy of this Bytescout.PDF.ColorCMYK. /// </summary> /// <returns cref="object" href="http://msdn.microsoft.com/en-us/library/system.object.aspx">Returns a shallow copy of this Bytescout.PDF.ColorCMYK.</returns> public override object Clone() { ColorCMYK p = this.MemberwiseClone() as ColorCMYK; p._colorspace = _colorspace.Clone() as Colorspace; return(p); }
public void ShouldReturnFalseWhenOtherAsObjectIsNotEqual() { var color = new ColorCMYK(4, 3, 2, 1); var other = new ColorCMYK(1, 2, 3, 4); Assert.False(color.Equals((object)other)); }
public void ShouldReturnTheCorrectValueWhenCastedFromMagickColor() { var expected = new ColorCMYK(Quantum.Max, 0, 0, 0); ColorCMYK actual = new MagickColor(Quantum.Max, 0, 0, 0, Quantum.Max); Assert.Equal(expected, actual); }
public Color (ColorCMYK cmyk) : this() { R = (1 - cmyk.C) * (1 - cmyk.K); G = (1 - cmyk.M) * (1 - cmyk.K); B = (1 - cmyk.Y) * (1 - cmyk.K); A = cmyk.A; }
public void ShouldReturnDifferentValueWhenChannelChanged() { ColorCMYK first = new ColorCMYK(0, 0, 0, 0); int hashCode = first.GetHashCode(); first.K = Quantum.Max; Assert.AreNotEqual(hashCode, first.GetHashCode()); }
public ColorCMYK(double c, double m, double y, double k) { ColorCMYK.check_cmyk(c, m, y, k); this._alpha = 1.0; this._c = c; this._m = m; this._y = y; this._k = k; }
/// <summary> /// Determines whether the specified Bytescout.PDF.ColorCMYK is equal to the current Bytescout.PDF.ColorCMYK. /// </summary> /// <param name="obj" href="http://msdn.microsoft.com/en-us/library/system.object.aspx">The System.Object to compare with the current Bytescout.PDF.ColorCMYK.</param> /// <returns cref="bool" href="http://msdn.microsoft.com/en-us/library/system.boolean.aspx">true if the specified System.Object is equal to the current Bytescout.PDF.ColorCMYK; otherwise, false.</returns> public override bool Equals(object obj) { if (!(obj is ColorCMYK)) { return(false); } ColorCMYK color = obj as ColorCMYK; return(color._c == _c && color._m == _m && color._y == _y && color._k == _k); }
public void ShouldInitializeTheProperties() { var color = new MagickColor(Quantum.Max, (QuantumType)(Quantum.Max * 0.75), (QuantumType)(Quantum.Max * 0.5), (QuantumType)(Quantum.Max * 0.25)); var cmykColor = ColorCMYK.FromMagickColor(color); Assert.InRange(Quantum.ScaleToDouble(cmykColor.C), 0.99, 1.0); Assert.InRange(Quantum.ScaleToDouble(cmykColor.M), 0.74, 0.75); Assert.InRange(Quantum.ScaleToDouble(cmykColor.Y), 0.49, 0.5); Assert.InRange(Quantum.ScaleToDouble(cmykColor.K), 0.0, 0.01); Assert.InRange(Quantum.ScaleToDouble(cmykColor.A), 0.24, 0.25); }
public ColorRGB(ColorCMYK cmyk) { double CMY_C = cmyk.C * (1 - cmyk.K) + cmyk.K; double CMY_M = cmyk.M * (1 - cmyk.K) + cmyk.K; double CMY_Y = cmyk.Y * (1 - cmyk.K) + cmyk.K; this._alpha = cmyk.Alpha; this._r = 1 - CMY_C; this._g = 1 - CMY_M; this._b = 1 - CMY_Y; }
public void ShouldReturnTheCorrectValueWhenInstancesAreNotEqual() { var first = new ColorCMYK(Quantum.Max, 0, 0, 0); var second = new ColorCMYK(0, Quantum.Max, 0, 0); Assert.False(first == second); Assert.True(first != second); Assert.False(first < second); Assert.False(first <= second); Assert.True(first > second); Assert.True(first >= second); }
public void ShouldConvertCmykColorToRgba() { var cmkyColor = new ColorCMYK(Quantum.Max, 0, 0, 0, Quantum.Max); var magickColor = cmkyColor.ToMagickColor(); var color = magickColor.ToColor(); Assert.AreEqual(0, color.R); Assert.AreEqual(255, color.G); Assert.AreEqual(255, color.B); Assert.AreEqual(255, color.A); }
public void ShouldReturnTheCorrectValueWhenInstanceIsNull() { var color = new ColorCMYK(0, 0, 0, 0); Assert.False(color is null); Assert.True(color != null); Assert.False(color < null); Assert.False(color <= null); Assert.True(color > null); Assert.True(color >= null); Assert.False(null == color); Assert.True(null != color); Assert.True(null < color); Assert.True(null <= color); Assert.False(null > color); Assert.False(null >= color); }
public void ShouldConvertPercentageToColor() { var color = new ColorCMYK((Percentage)0, (Percentage)100, (Percentage)0, (Percentage)100); Assert.Equal(0, color.C); Assert.Equal(Quantum.Max, color.M); Assert.Equal(0, color.Y); Assert.Equal(Quantum.Max, color.K); Assert.Equal(Quantum.Max, color.A); color = new ColorCMYK((Percentage)100, (Percentage)0, (Percentage)100, (Percentage)0, (Percentage)100); Assert.Equal(Quantum.Max, color.C); Assert.Equal(0, color.M); Assert.Equal(Quantum.Max, color.Y); Assert.Equal(0, color.K); Assert.Equal(Quantum.Max, color.A); }
/// <summary> /// Draws the GUI for the color property. /// </summary> /// <param name="position">Rectangle on the screen to use for the property GUI.</param> /// <param name="property">The SerializedProperty to make the custom GUI for.</param> /// <param name="label">The label of this property.</param> public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { EditorGUI.BeginProperty(position, label, property); position = EditorGUI.PrefixLabel(position, GUIUtility.GetControlID(FocusType.Passive), label); var c = property.FindPropertyRelative("c"); var m = property.FindPropertyRelative("m"); var y = property.FindPropertyRelative("y"); var k = property.FindPropertyRelative("k"); var a = property.FindPropertyRelative("a"); var cmy = new ColorCMYK(c.floatValue, m.floatValue, y.floatValue, k.floatValue, a.floatValue); cmy = EditorGUI.ColorField(position, cmy); c.floatValue = cmy.c; m.floatValue = cmy.m; y.floatValue = cmy.y; k.floatValue = cmy.k; a.floatValue = cmy.a; EditorGUI.EndProperty(); }
/// <summary> /// Get the WPF color from a CMKY color definition /// </summary> private (Color, GraphicColorPrecision) GetColor(ColorCMYK cmykColor) { Color color; GraphicColorPrecision colorPrecision; if (isProfileAvailable) { float[] colorValues = { (float)(cmykColor.C / 100.0), (float)(cmykColor.M / 100.0), (float)(cmykColor.Y / 100.0), (float)(cmykColor.K / 100.0) }; var uri = GetProfileUri(); colorPrecision = GraphicColorPrecision.Precise; color = Color.FromValues(colorValues, uri); } else { colorPrecision = GraphicColorPrecision.Estimated; color = CmykToRgbConverter.Convert(cmykColor.C / 100.0, cmykColor.M / 100.0, cmykColor.Y / 100.0, cmykColor.K / 100.0); } return(color, colorPrecision); }
public void ShouldSetTheCorrectValue() { var color = new ColorCMYK(0, 0, 0, 0); color.C = 1; Assert.Equal(1, color.C); Assert.Equal(0, color.M); Assert.Equal(0, color.Y); Assert.Equal(0, color.K); Assert.Equal(Quantum.Max, color.A); color.M = 2; Assert.Equal(1, color.C); Assert.Equal(2, color.M); Assert.Equal(0, color.Y); Assert.Equal(0, color.K); Assert.Equal(Quantum.Max, color.A); color.Y = 3; Assert.Equal(1, color.C); Assert.Equal(2, color.M); Assert.Equal(3, color.Y); Assert.Equal(0, color.K); Assert.Equal(Quantum.Max, color.A); color.K = 4; Assert.Equal(1, color.C); Assert.Equal(2, color.M); Assert.Equal(3, color.Y); Assert.Equal(4, color.K); Assert.Equal(Quantum.Max, color.A); color.A = 5; Assert.Equal(1, color.C); Assert.Equal(2, color.M); Assert.Equal(3, color.Y); Assert.Equal(4, color.K); Assert.Equal(5, color.A); }
public void ShouldConvertHexValueToColor() { var color = new ColorCMYK("#0ff0"); Assert.Equal(0, color.C); Assert.Equal(Quantum.Max, color.M); Assert.Equal(Quantum.Max, color.Y); Assert.Equal(0, color.K); Assert.Equal(Quantum.Max, color.A); color = new ColorCMYK("#ff00ff00"); Assert.Equal(Quantum.Max, color.C); Assert.Equal(0, color.M); Assert.Equal(Quantum.Max, color.Y); Assert.Equal(0, color.K); Assert.Equal(Quantum.Max, color.A); color = new ColorCMYK("#0000ffff0000ffff"); Assert.Equal(0, color.C); Assert.Equal(Quantum.Max, color.M); Assert.Equal(0, color.Y); Assert.Equal(Quantum.Max, color.K); Assert.Equal(Quantum.Max, color.A); }
private void Conversion(Color inColor) { Color inColor2 = inColor; if (inColor.IsICCcolor && !inColor.IsPCScolor) { inColor2 = Converter.ToICC(inColor); } if (inColor.Model != ColorModel.CIEXYZ) { ColXYZ = Converter.ToXYZ(inColor2, XYZwp); } if (inColor.Model != ColorModel.CIELab) { ColLab = Converter.ToLab(inColor2, Labwp); } if (inColor.Model != ColorModel.CIELuv) { ColLuv = Converter.ToLuv(inColor2, Luvwp); } if (inColor.Model != ColorModel.CIELCHab) { ColLCHab = Converter.ToLCHab(inColor2, LCHabwp); } if (inColor.Model != ColorModel.CIELCHuv) { ColLCHuv = Converter.ToLCHuv(inColor2, LCHuvwp); } if (inColor.Model != ColorModel.CIEYxy) { ColYxy = Converter.ToYxy(inColor2, Yxywp); } if (inColor.Model != ColorModel.LCH99) { ColLCH99 = Converter.ToLCH99(inColor2); } if (inColor.Model != ColorModel.LCH99b) { ColLCH99b = Converter.ToLCH99b(inColor2); } if (inColor.Model != ColorModel.LCH99c) { ColLCH99c = Converter.ToLCH99c(inColor2); } if (inColor.Model != ColorModel.LCH99d) { ColLCH99d = Converter.ToLCH99d(inColor2); } if (inColor.Model != ColorModel.DEF) { ColDEF = Converter.ToDEF(inColor2); } if (inColor.Model != ColorModel.Bef) { ColBef = Converter.ToBef(inColor2); } if (inColor.Model != ColorModel.BCH) { ColBCH = Converter.ToBCH(inColor2); } if (inColor.Model != ColorModel.RGB) { if (RGBSpace != RGBSpaceName.ICC) { ColRGB = Converter.ToRGB(inColor2, RGBSpace); } else { ColRGB = (ColorRGB)Converter.ToICC(Converter.ToICC_PCS(inColor2, RGB_ICC), RGB_ICC); } } if (inColor.Model != ColorModel.HSV) { if (HSVSpace != RGBSpaceName.ICC) { ColHSV = Converter.ToHSV(inColor2, HSVSpace); } else { ColHSV = (ColorHSV)Converter.ToICC(Converter.ToICC_PCS(inColor2, HSV_ICC), HSV_ICC); } } if (inColor.Model != ColorModel.HSL) { if (HSLSpace != RGBSpaceName.ICC) { ColHSL = Converter.ToHSL(inColor2, HSLSpace); } else { ColHSL = (ColorHSL)Converter.ToICC(Converter.ToICC_PCS(inColor2, HSL_ICC), HSL_ICC); } } if (inColor.Model != ColorModel.CMY && CMY_ICC != null) { ColCMY = (ColorCMY)Converter.ToICC(Converter.ToICC_PCS(inColor2, CMY_ICC), CMY_ICC); } if (inColor.Model != ColorModel.CMYK && CMYK_ICC != null) { ColCMYK = (ColorCMYK)Converter.ToICC(Converter.ToICC_PCS(inColor2, CMYK_ICC), CMYK_ICC); } if (inColor.Model != ColorModel.YCbCr) { if (YCbCrSpace != YCbCrSpaceName.ICC) { ColYCbCr = Converter.ToYCbCr(inColor2, YCbCrSpace); } else { ColYCbCr = (ColorYCbCr)Converter.ToICC(Converter.ToICC_PCS(inColor2, YCbCr_ICC), YCbCr_ICC); } } if (inColor.Model != ColorModel.Gray) { if (CMY_ICC != null) { ColGray = (ColorGray)Converter.ToICC(Converter.ToICC_PCS(inColor2, Gray_ICC), Gray_ICC); } else { ColGray = Converter.ToGray(inColor2); } } if (!IsXColor(inColor.Model) && XColor_ICC != null) { ColX = (ColorX)Converter.ToICC(Converter.ToICC_PCS(inColor2, XColor_ICC), XColor_ICC); } FillFields(); }
public bool Equals(ColorCMYK other) { return(other != null && c == other.c && m == other.m && y == other.y); }
public void ShouldReturnFalseWhenOtherAsObjectIsNull() { var color = new ColorCMYK(1, 2, 3, 4); Assert.False(color.Equals((object)null)); }
/// <summary> /// Initializes a color by converting the given CMYK color to the CMY color space. /// </summary> /// <param name="cmyk">The CMYK color to convert to CMY.</param> public ColorCMY(ColorCMYK cmyk) { this = FromCMYK(cmyk.c, cmyk.m, cmyk.y, cmyk.k, cmyk.a); }
private void Convert_Button_Click(object sender, EventArgs e) { switch (((Button)sender).Name) { case "RGB_Button": try { if (RGBSpace != RGBSpaceName.ICC) { ColRGB = new ColorRGB(RGBSpace, RGB[0], RGB[1], RGB[2]); } else { ColRGB = new ColorRGB(RGB_ICC, RGB[0], RGB[1], RGB[2]); } Conversion(ColRGB); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "XYZ_Button": try { ColXYZ = new ColorXYZ(XYZwp, XYZ[0], XYZ[1], XYZ[2]); Conversion(ColXYZ); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "Lab_Button": try { ColLab = new ColorLab(Labwp, Lab[0], Lab[1], Lab[2]); Conversion(ColLab); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "Luv_Button": try { ColLuv = new ColorLuv(Luvwp, Luv[0], Luv[1], Luv[2]); Conversion(ColLuv); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "Yxy_Button": try { ColYxy = new ColorYxy(Yxywp, Yxy[0], Yxy[1], Yxy[2]); Conversion(ColYxy); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "LCHab_Button": try { ColLCHab = new ColorLCHab(LCHabwp, LCHab[0], LCHab[1], LCHab[2]); Conversion(ColLCHab); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "LCHuv_Button": try { ColLCHuv = new ColorLCHuv(LCHuvwp, LCHuv[0], LCHuv[1], LCHuv[2]); Conversion(ColLCHuv); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "LCH99_Button": try { ColLCH99 = new ColorLCH99(LCH99[0], LCH99[1], LCH99[2]); Conversion(ColLCH99); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "LCH99b_Button": try { ColLCH99b = new ColorLCH99b(LCH99b[0], LCH99b[1], LCH99b[2]); Conversion(ColLCH99b); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "LCH99c_Button": try { ColLCH99c = new ColorLCH99c(LCH99c[0], LCH99c[1], LCH99c[2]); Conversion(ColLCH99c); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "LCH99d_Button": try { ColLCH99d = new ColorLCH99d(LCH99d[0], LCH99d[1], LCH99d[2]); Conversion(ColLCH99d); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "HSV_Button": try { if (HSVSpace != RGBSpaceName.ICC) { ColHSV = new ColorHSV(HSVSpace, HSV[0], HSV[1], HSV[2]); } else { ColHSV = new ColorHSV(HSV_ICC, HSV[0], HSV[1], HSV[2]); } Conversion(ColHSV); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "HSL_Button": try { if (HSLSpace != RGBSpaceName.ICC) { ColHSL = new ColorHSL(HSLSpace, HSL[0], HSL[1], HSL[2]); } else { ColHSL = new ColorHSL(HSL_ICC, HSL[0], HSL[1], HSL[2]); } Conversion(ColHSL); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "CMY_Button": try { ColCMY = new ColorCMY(CMY_ICC, CMY[0], CMY[1], CMY[2]); Conversion(ColCMY); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "CMYK_Button": try { ColCMYK = new ColorCMYK(CMYK_ICC, CMYK[0], CMYK[1], CMYK[2], CMYK[3]); Conversion(ColCMYK); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "Gray_Button": try { if (Gray_ICC != null) { ColGray = new ColorGray(Gray_ICC, Gray[0]); } else { ColGray = new ColorGray(Gray[0]); } Conversion(ColGray); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "YCbCr_Button": try { if (YCbCrSpace == YCbCrSpaceName.ICC) { ColYCbCr = new ColorYCbCr(YCbCr_ICC, YCbCr[0], YCbCr[1], YCbCr[2]); } else { ColYCbCr = new ColorYCbCr(YCbCrSpace, YCbCr[0], YCbCr[1], YCbCr[2]); } Conversion(ColYCbCr); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "XColor_Button": try { ColX = new ColorX(XColor_ICC, XColor.Take(XColor_Channels).ToArray()); Conversion(ColX); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "DEF_Button": try { ColDEF = new ColorDEF(DEFwp, DEF[0], DEF[1], DEF[2]); Conversion(ColDEF); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "Bef_Button": try { ColBef = new ColorBef(Befwp, Bef[0], Bef[1], Bef[2]); Conversion(ColBef); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; case "BCH_Button": try { ColBCH = new ColorBCH(BCHwp, BCH[0], BCH[1], BCH[2]); Conversion(ColBCH); } catch (FormatException) { MessageBox.Show("Not a number!"); } catch (Exception ex) { MessageBox.Show("Error:" + Environment.NewLine + ex.Message); } break; } }
public void ShouldReturnNullWhenValueIsNull() { var result = ColorCMYK.FromMagickColor(null); Assert.Null(result); }
public void ShouldReturnTheCorrectValueWhenOtherIsEqual() { var color = new ColorCMYK(1, 2, 3, 4); Assert.Equal(0, color.CompareTo(color)); }