/// <summary> /// Get a graphic brush /// </summary> public GraphicBrush GetBrush(EpsRect boundingBox) { var color = ColorSpaceConverter.ConvertCmykToRgb(values[0], values[1], values[2], values[3]); return(new GraphicSolidColorBrush { Color = color }); }
/// <summary> /// Return the color as RGB components operands that define this brush /// Here we don't use the formula from the spec, we use our formula that /// is needed to get a correct RGB value /// </summary> public List <Operand> GetRGBColorOperands() { var color = ColorSpaceConverter.ConvertCmykToRgb(values[0], values[1], values[2], values[3]); List <Operand> operands = new List <Operand>(); var realOp = new RealOperand(color.R); operands.Add(realOp); realOp = new RealOperand(color.G); operands.Add(realOp); realOp = new RealOperand(color.B); operands.Add(realOp); return(operands); }
/// <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 = ColorSpaceConverter.ConvertCmykToRgb(cmykColor.C / 100.0, cmykColor.M / 100.0, cmykColor.Y / 100.0, cmykColor.K / 100.0); } return(color, colorPrecision); }
/// <summary> /// GetColor /// </summary> public Color GetColor(List <double> values) { return(ColorSpaceConverter.ConvertCmykToRgb(values[0], values[1], values[2], values[3])); }