Exemple #1
0
        public LinearGradientBrush GetLinearGradientBrush()
        {
            DirectLinearGradient direct  = directLineGradient[rand.Next(0, 3)];
            LinearGradientBrush  myBrush = new LinearGradientBrush {
                StartPoint = GetStartPoint(direct),
                EndPoint   = GetEndPoint(direct)
            };
            int    CountStops = rand.Next(2, 5);
            double offSet     = 0;
            double stepSet    = 1.0 / CountStops;

            for (int i = 1; i <= CountStops; i++)
            {
                if (i == CountStops)
                {
                    offSet = 1;
                }
                else if (i == 1)
                {
                    offSet = 0;
                }
                else
                {
                    offSet = stepSet * i;
                }
                myBrush.GradientStops.Add(new GradientStop(GetColor(), offSet));
            }
            return(myBrush);
        }
Exemple #2
0
        private Point GetEndPoint(DirectLinearGradient direct)
        {
            switch (direct)
            {
            case DirectLinearGradient.LeftRight:
                return(new Point(1, 0.5));

            case DirectLinearGradient.TopBottom:
                return(new Point(0.5, 1));

            case DirectLinearGradient.DiagonalLeftRight:
                return(new Point(1, 1));

            case DirectLinearGradient.DiagonalRightLeft:
                return(new Point(0, 1));

            default:
                return(new Point(1, 1));
            }
        }