Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }