Ejemplo n.º 1
0
        HsvLinearColorPattern generateHSVPattern(Point startPoint, Point endPoint, double angle, double centerX, double centery, List <string> colors, List <double> offsets)
        {
            HsvLinearColorPattern fillpattern = new HsvLinearColorPattern()
            {
                StartPoint = startPoint,
                EndPoint   = endPoint,
                Stops      = new HsvSolidColorPatternCollection()
                {
                    new HsvSolidColorPattern()
                    {
                        BaseColor = BaseColor.Color,
                        Color     = ConvertHexToBrush(colors[0]),
                        Offset    = offsets[0]
                    },
                    new HsvSolidColorPattern()
                    {
                        BaseColor = BaseColor.Color,
                        Color     = ConvertHexToBrush(colors[1]),
                        Offset    = offsets[1]
                    },
                    new HsvSolidColorPattern()
                    {
                        BaseColor = BaseColor.Color,
                        Color     = ConvertHexToBrush(colors[2]),
                        Offset    = offsets[2]
                    },
                }
            };

            fillpattern.Transform = new RotateTransform()
            {
                Angle   = angle,
                CenterX = centerX,
                CenterY = centery
            };

            return(fillpattern);
        }
Ejemplo n.º 2
0
        public override DiagramItemStyle GenerateStyle(Theme theme, string accent)
        {
            if (this.Name.Equals("Subtly"))
            {
                DiagramItemStyle style = base.GenerateStyle(theme, accent);
                switch (accent)
                {
                case "Accent1":
                    style.Stroke     = ConvertHexToBrush("#e9eff7");
                    style.Foreground = ConvertHexToBrush("#5b9bd5");
                    break;

                case "Accent2":
                    style.Stroke     = ConvertHexToBrush("#ebeff5");
                    style.Foreground = ConvertHexToBrush("#759fcc");
                    break;

                case "Accent3":
                    style.Stroke     = ConvertHexToBrush("#e8ebef");
                    style.Foreground = ConvertHexToBrush("#41719c");
                    break;

                case "Accent4":
                    style.Stroke     = ConvertHexToBrush("#f3f6fa");
                    style.Foreground = ConvertHexToBrush("#bdd0e9");
                    break;

                case "Accent5":
                    style.Stroke     = ConvertHexToBrush("#fbece7");
                    style.Foreground = ConvertHexToBrush("#ed7d31");
                    break;

                case "Accent6":
                    style.Stroke     = ConvertHexToBrush("#ebf1e8");
                    style.Foreground = ConvertHexToBrush("#70ad47");
                    break;

                case "Accent7":
                    style.Stroke     = ConvertHexToBrush("#fef4e7");
                    style.Foreground = ConvertHexToBrush("#fec000");
                    break;
                }
                return(style);
            }
            else if (this.Name.Equals("Refined"))
            {
                DiagramItemStyle style = base.GenerateStyle(theme, accent);
                switch (accent)
                {
                case "Accent1":
                    style.Foreground = ConvertHexToBrush("#5b9bd5");
                    break;

                case "Accent2":
                    style.Foreground = ConvertHexToBrush("#759fcc");
                    break;

                case "Accent3":
                    style.Foreground = ConvertHexToBrush("#41719c");
                    break;

                case "Accent4":
                    style.Foreground = ConvertHexToBrush("#bdd0e9");
                    break;

                case "Accent5":
                    style.Foreground = ConvertHexToBrush("#ed7d31");
                    break;

                case "Accent6":
                    style.Foreground = ConvertHexToBrush("#70ad47");
                    break;

                case "Accent7":
                    style.Foreground = ConvertHexToBrush("#fec000");
                    break;
                }
                return(style);
            }
            else if (this.Name.Equals("Balanced"))
            {
                HsvLinearColorPattern hsvPattern = null;
                Brush foreground = null;
                Brush stroke     = null;
                switch (accent)
                {
                case "Accent1":
                    hsvPattern = generateHSVPattern
                                 (
                        new Point(0, 0), new Point(1, 0), 60, 0.5, 0.5,
                        new List <string>()
                    {
                        "#e9eff7", "#f4f7fb", "#feffff"
                    },
                        new List <double>()
                    {
                        0, 0.24, 0.54
                    }
                                 );
                    foreground = stroke = ConvertHexToBrush("#4f87bb");
                    break;

                case "Accent2":
                    hsvPattern = generateHSVPattern
                                 (
                        new Point(0, 0), new Point(1, 0), 60, 0.5, 0.5,
                        new List <string>()
                    {
                        "#ebeff5", "#f5f7fa", "#feffff"
                    },
                        new List <double>()
                    {
                        0, 0.24, 0.54
                    }
                                 );
                    foreground = stroke = ConvertHexToBrush("#668bb3");
                    break;

                case "Accent3":
                    hsvPattern = generateHSVPattern
                                 (
                        new Point(0, 0), new Point(1, 0), 60, 0.5, 0.5,
                        new List <string>()
                    {
                        "#e8ebef", "#f4f5f7", "#feffff"
                    },
                        new List <double>()
                    {
                        0, 0.24, 0.54
                    }
                                 );
                    foreground = stroke = ConvertHexToBrush("#386288");
                    break;

                case "Accent4":
                    hsvPattern = generateHSVPattern
                                 (
                        new Point(0, 0), new Point(1, 0), 60, 0.5, 0.5,
                        new List <string>()
                    {
                        "#f3f6fa", "#f9fafc", "#feffff"
                    },
                        new List <double>()
                    {
                        0, 0.24, 0.54
                    }
                                 );
                    foreground = stroke = ConvertHexToBrush("#a6b6cd");
                    break;

                case "Accent5":
                    hsvPattern = generateHSVPattern
                                 (
                        new Point(0, 0), new Point(1, 0), 60, 0.5, 0.5,
                        new List <string>()
                    {
                        "#fbece7", "#fdf5f3", "#feffff"
                    },
                        new List <double>()
                    {
                        0, 0.24, 0.54
                    }
                                 );
                    foreground = stroke = ConvertHexToBrush("#d06d29");
                    break;

                case "Accent6":
                    hsvPattern = generateHSVPattern
                                 (
                        new Point(0, 0), new Point(1, 0), 60, 0.5, 0.5,
                        new List <string>()
                    {
                        "#ebf1e8", "#f5f8f4", "#feffff"
                    },
                        new List <double>()
                    {
                        0, 0.24, 0.54
                    }
                                 );
                    foreground = stroke = ConvertHexToBrush("#61973d");
                    break;

                case "Accent7":
                    hsvPattern = generateHSVPattern
                                 (
                        new Point(0, 0), new Point(1, 0), 60, 0.5, 0.5,
                        new List <string>()
                    {
                        "#fef4e7", "#fef9f3", "#feffff"
                    },
                        new List <double>()
                    {
                        0, 0.24, 0.54
                    }
                                 );
                    foreground = stroke = ConvertHexToBrush("#dfa800");
                    break;
                }
                DiagramItemStyle style = base.GenerateStyle(theme, accent);
                if (hsvPattern != null)
                {
                    style.Fill = hsvPattern.GetBrush(theme, accent);
                }
                style.Stroke     = stroke;
                style.Foreground = foreground;
                return(style);
            }
            else if (this.Name.Equals("Moderate"))
            {
                DiagramItemStyle style = base.GenerateStyle(theme, accent);
                style.Foreground = ConvertHexToBrush("#feffff");
                return(style);
            }
            else if (this.Name.Equals("Focused"))
            {
                DiagramItemStyle style = base.GenerateStyle(theme, accent);
                switch (accent)
                {
                case "Accent1":
                    style.Stroke = ConvertHexToBrush("#40709c");
                    break;

                case "Accent2":
                    style.Stroke = ConvertHexToBrush("#547395");
                    break;

                case "Accent3":
                    style.Stroke = ConvertHexToBrush("#2d5171");
                    break;

                case "Accent4":
                    style.Stroke = ConvertHexToBrush("#8a98ab");
                    break;

                case "Accent5":
                    style.Stroke = ConvertHexToBrush("#ae5a21");
                    break;

                case "Accent6":
                    style.Stroke = ConvertHexToBrush("#507e31");
                    break;

                case "Accent7":
                    style.Stroke = ConvertHexToBrush("#ba8c00");
                    break;
                }
                style.Foreground = ConvertHexToBrush("#feffff");
                return(style);
            }
            else if (this.Name.Equals("Intense"))
            {
                DiagramItemStyle style = base.GenerateStyle(theme, accent);
                switch (accent)
                {
                case "Accent1":
                    style.Stroke = ConvertHexToBrush("#40709c");
                    break;

                case "Accent2":
                    style.Stroke = ConvertHexToBrush("#547395");
                    break;

                case "Accent3":
                    style.Stroke = ConvertHexToBrush("#2d5171");
                    break;

                case "Accent4":
                    style.Stroke = ConvertHexToBrush("#8a98ab");
                    break;

                case "Accent5":
                    style.Stroke = ConvertHexToBrush("#ae5a21");
                    break;

                case "Accent6":
                    style.Stroke = ConvertHexToBrush("#507e31");
                    break;

                case "Accent7":
                    style.Stroke = ConvertHexToBrush("#ba8c00");
                    break;
                }
                style.Foreground = ConvertHexToBrush("#feffff");
                return(style);
            }
            else
            {
                return(base.GenerateStyle(theme, accent));
            }
        }