Компьютерная графика, мультимедиа и игры на Visual C#

         

Глава Методика анимации градиентного заполнения текста цветом  - часть 2


        width_of_rectangle, height_of_rectangle);

        myGraphics.DrawLine(new Pen(Color.Red, 3),

        width_of_rectangle, boundary_of_rectangle_у,

        width_of_rectangle, height_of_rectangle);

        //Задаем тип шрифта, размер текста и стиль

        //шрифта:

        Font drawFont = new Font("Times New Roman", 100,

                        FontStyle.Bold, GraphicsUnit.Point);

        //Записываем текст, цвет которого будет изменяться:

        string drawText = "Visual";

        //Задаем меру строки текста

        //при помощи метода MeasureString:

        SizeF SizeF_of_Text = new

        SizeF(myGraphics.MeasureString(drawText, drawFont));

        //Задаем точку, от которой

        //будет рисоваться текст,

        //сцентрированный внутри прямоугольника:

        PointF Start_of_drawPointF =

            new PointF(Convert.ToSingle((width_of_rectangle

                              - SizeF_of_Text.Width) / 2),

                       Convert.ToSingle((height_of_rectangle

                              - SizeF_of_Text.Height) / 2));

        //Задаем координаты начальной и конечной точек

        //градиентной заливки текста; изменяя эти координаты,

        //мы изменяем и анимационный эффект:

        PointF Start_of_Gradient_of_drawPointF =

                                           new PointF(0, 0);

        PointF End_of_Gradient_of_drawPointF =

                         new PointF(Shift_of_Gradient, 200);

        //Создаем объект drawBrush класса LinearGradientBrush

        //и задаем его параметры

        //для градиентной заливки текста:

        LinearGradientBrush drawBrush = new

        LinearGradientBrush(Start_of_Gradient_of_drawPointF,

        End_of_Gradient_of_drawPointF, Color.Red, BackColor);

        //Рисуем текст в центре прямоугольника:

        myGraphics.DrawString(drawText, drawFont,

        drawBrush, Start_of_drawPointF);




Содержание  Назад  Вперед