Exemplo n.º 1
0
        public static System.Windows.Media.Brush ToBrush(this StyleColor sc)
        {
            if (sc.FillType == ColorFillType.Solid)
            {
                return(new System.Windows.Media.SolidColorBrush(StyleColorExtension.FromArgb(sc.ARGB)));
            }
            else if (sc.FillType == ColorFillType.Gradient)
            {
                var lineb     = new System.Windows.Media.LinearGradientBrush();
                var newFrames = sc.Frames;
                if (newFrames == null || newFrames.Count == 0)
                {
                    newFrames    = new Dictionary <double, int>();
                    newFrames[0] = -1;
                    newFrames[1] = -16777216;
                }
                foreach (var keypair in newFrames)
                {
                    var gradientStop = new System.Windows.Media.GradientStop(
                        StyleColorExtension.FromArgb(keypair.Value),
                        keypair.Key);
                    lineb.GradientStops.Add(gradientStop);
                }

                var aRotateTransform = new System.Windows.Media.RotateTransform();
                aRotateTransform.CenterX = 0.5;
                aRotateTransform.CenterY = 0.5;
                aRotateTransform.Angle   = sc.Angle;
                lineb.RelativeTransform  = aRotateTransform;
                return(lineb);
            }

            return(null);
        }
Exemplo n.º 2
0
        public static System.Windows.Media.Color ToColor(this StyleColor sc)
        {
            if (sc.FillType == ColorFillType.Solid)
            {
                return(StyleColorExtension.FromArgb(sc.ARGB));
            }
            else if (sc.FillType == ColorFillType.Gradient)
            {
                var lineb     = new System.Windows.Media.LinearGradientBrush();
                var newFrames = sc.Frames;
                if (newFrames == null || newFrames.Count == 0)
                {
                    newFrames    = new Dictionary <double, int>();
                    newFrames[0] = -1;
                    newFrames[1] = -16777216;
                }

                return(FromArgb(newFrames.First().Value));
            }

            return(default(System.Windows.Media.Color));
        }