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); }
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)); }