Пример #1
0
        YamlObject FromLinearGradientFill(LinearGradientFill content, YamlMap superclassContent)
        {
            var result = superclassContent;

            AddFromIGradient(content, result);
            return(result);
        }
Пример #2
0
        private Brush BrushFromFill(Fill fill, Rectangle bounds)
        {
            if (fill is SolidFill)
            {
                SolidFill fil = (fill as SolidFill);
                return(new SolidBrush(Color.FromString(fil.Color)));
            }
            else if (fill is LinearGradientFill)
            {
                LinearGradientFill fil = (fill as LinearGradientFill);

                LinearGradientBrush brush = new LinearGradientBrush(bounds, LinearGradientFillOrientationToLinearGradientBrushOrientation(fil.Orientation));
                if (fil.ColorStops.Count > 0)
                {
                    for (int i = 0; i < fil.ColorStops.Count; i++)
                    {
                        Color       color       = Color.FromString(fil.ColorStops[i].Color);
                        Measurement measurement = Measurement.FromString(fil.ColorStops[i].Position);
                        brush.ColorStops.Add(color, measurement);
                    }
                }
                return(brush);
            }
            return(null);
        }
Пример #3
0
        public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
        {
            if (value is string)
            {
                FillBase result    = null;
                string   className = (string)value;
                switch (className)
                {
                case "Solid":
                    result = new SolidFill();
                    break;

                case "LinearGradient":
                    result = new LinearGradientFill();
                    break;

                case "PathGradient":
                    result = new PathGradientFill();
                    break;

                case "Hatch":
                    result = new HatchFill();
                    break;

                case "Glass":
                    result = new GlassFill();
                    break;
                }
                return(result);
            }
            return(base.ConvertFrom(context, culture, value));
        }
        YamlObject FromLinearGradientFill(LinearGradientFill content, YamlMap superclassContent)
        {
            var result = superclassContent;

            result.Add("OpacityPercent", FromAnimatable(content.OpacityPercent));
            result.Add("GradientStops", FromAnimatable(content.GradientStops, p => FromSequence(p, FromGradientStop)));
            return(result);
        }
Пример #5
0
        XElement FromLinearGradientFill(LinearGradientFill content)
        {
            return(new XElement("LinearGradientFill", GetContents()));

            IEnumerable <XObject> GetContents()
            {
                foreach (var item in GetShapeLayerContentContents(content))
                {
                    yield return(item);
                }

                yield return(FromAnimatable("GradientStops", content.GradientStops));
            }
        }
Пример #6
0
        public static string linearGradientFillTest()
        {
            int[]     line1     = new int[] { 5, 10, 50, 34, 10, 25 };
            LineChart lineChart = new LineChart(250, 150);

            lineChart.SetTitle("Linear Gradient fill test");
            lineChart.SetData(line1);

            lineChart.AddAxis(new ChartAxis(ChartAxisType.Left));
            lineChart.AddAxis(new ChartAxis(ChartAxisType.Bottom));

            LinearGradientFill fill = new LinearGradientFill(ChartFillTarget.ChartArea, 45);

            fill.AddColorOffsetPair("FFFFFF", 0);
            fill.AddColorOffsetPair("76A4FB", 0.75);

            SolidFill bgFill = new SolidFill(ChartFillTarget.Background, "EFEFEF");

            lineChart.AddLinearGradientFill(fill);
            lineChart.AddSolidFill(bgFill);

            return(lineChart.GetUrl());
        }
        private Fill FillFromTag(MarkupTagElement tag)
        {
            if (tag == null) return null;

            MarkupAttribute attFillType = tag.Attributes["Type"];
            if (attFillType != null)
            {
                switch (attFillType.Value.ToLower())
                {
                    case "none":
                    {
                        break;
                    }
                    case "solid":
                    {
                        MarkupAttribute attFillColor = tag.Attributes["Color"];
                        if (attFillColor != null)
                        {
                            return new SolidFill(attFillColor.Value);
                        }
                        break;
                    }
                    case "lineargradient":
                    {
                        MarkupAttribute attOrientation = tag.Attributes["Orientation"];
                        if (attOrientation == null) return null;

                        MarkupTagElement tagColorStops = (tag.Elements["ColorStops"] as MarkupTagElement);
                        if (tagColorStops != null)
                        {
                            LinearGradientFill fill = new LinearGradientFill();

                            switch (attOrientation.Value.ToLower())
                            {
                                case "horizontal": fill.Orientation = LinearGradientFillOrientation.Horizontal; break;
                                case "vertical": fill.Orientation = LinearGradientFillOrientation.Vertical; break;
                            }

                            foreach (MarkupElement elColorStop in tagColorStops.Elements)
                            {
                                MarkupTagElement tagColorStop = (elColorStop as MarkupTagElement);
                                if (tagColorStop == null) continue;
                                if (tagColorStop.FullName != "ColorStop") continue;

                                MarkupAttribute attPosition = tagColorStop.Attributes["Position"];
                                if (attPosition == null) continue;

                                MarkupAttribute attColor = tagColorStop.Attributes["Color"];
                                if (attColor == null) continue;

                                fill.ColorStops.Add(new LinearGradientFillColorStop(attPosition.Value, attColor.Value));
                            }

                            return fill;
                        }
                        break;
                    }
                }
            }
            return null;
        }
Пример #8
0
        private Fill FillFromTag(MarkupTagElement tag)
        {
            if (tag == null)
            {
                return(null);
            }

            MarkupAttribute attFillType = tag.Attributes["Type"];

            if (attFillType != null)
            {
                switch (attFillType.Value.ToLower())
                {
                case "none":
                {
                    break;
                }

                case "solid":
                {
                    MarkupAttribute attFillColor = tag.Attributes["Color"];
                    if (attFillColor != null)
                    {
                        return(new SolidFill(attFillColor.Value));
                    }
                    break;
                }

                case "lineargradient":
                {
                    MarkupAttribute attOrientation = tag.Attributes["Orientation"];
                    if (attOrientation == null)
                    {
                        return(null);
                    }

                    MarkupTagElement tagColorStops = (tag.Elements["ColorStops"] as MarkupTagElement);
                    if (tagColorStops != null)
                    {
                        LinearGradientFill fill = new LinearGradientFill();

                        switch (attOrientation.Value.ToLower())
                        {
                        case "horizontal": fill.Orientation = LinearGradientFillOrientation.Horizontal; break;

                        case "vertical": fill.Orientation = LinearGradientFillOrientation.Vertical; break;
                        }

                        foreach (MarkupElement elColorStop in tagColorStops.Elements)
                        {
                            MarkupTagElement tagColorStop = (elColorStop as MarkupTagElement);
                            if (tagColorStop == null)
                            {
                                continue;
                            }
                            if (tagColorStop.FullName != "ColorStop")
                            {
                                continue;
                            }

                            MarkupAttribute attPosition = tagColorStop.Attributes["Position"];
                            if (attPosition == null)
                            {
                                continue;
                            }

                            MarkupAttribute attColor = tagColorStop.Attributes["Color"];
                            if (attColor == null)
                            {
                                continue;
                            }

                            fill.ColorStops.Add(new LinearGradientFillColorStop(attPosition.Value, attColor.Value));
                        }

                        return(fill);
                    }
                    break;
                }
                }
            }
            return(null);
        }