/// <summary> /// Get a GraphicBrush from the given psd color definition /// If the color definition is unknown return a default color /// </summary> public (GraphicBrush, GraphicColorPrecision) GetBrush(ColorBase colorBase, double aspectRatio, bool returnDarkDefaultColor) { GraphicBrush color; GraphicColorPrecision colorPrecision; switch (colorBase) { case SolidColor solidColor: (color, colorPrecision) = GetSolidColorBrush(solidColor, returnDarkDefaultColor); break; case LinearGradientColor linearGradientColor: (color, colorPrecision) = GetLinearGradientBrush(linearGradientColor, aspectRatio, returnDarkDefaultColor); break; case RadialGradientColor radialGradientColor: (color, colorPrecision) = GetRadialGradientBrush(radialGradientColor, aspectRatio, returnDarkDefaultColor); break; default: color = new GraphicSolidColorBrush { Color = returnDarkDefaultColor ? Colors.Black : Colors.LightGray }; colorPrecision = GraphicColorPrecision.Placeholder; break; } return(color, colorPrecision); }
/// <summary> /// Get a graphic brush /// </summary> public GraphicBrush GetBrush(PdfRect boundingBox, List <FunctionStop> softMask) { GraphicBrush brush; if (altColorSpaceDescriptor != null) { brush = altColorSpaceDescriptor.GetBrush(boundingBox, softMask); } else { byte gray = 0xB0; var color = Color.FromArgb((byte)255, gray, gray, gray); brush = new GraphicSolidColorBrush { Color = color }; } return(brush); }