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


Глава Управляемое заполнение фигур - часть 2


private void timer1_Tick(object sender, EventArgs e)

{

      //Задаем максимальное значение progressBar1.Maximum

      //индикатора процесса,

      //равное высоте заполняемой панели picturebox1.Height:

      progressBar1.Maximum = pictureBox1.Height;

      //Если текущее значение Value индикатора

      //стало больше максимального значения:

      if (progressBar1.Value >= progressBar1.Maximum)

      {

            //отключаем таймер:

            timer1.Enabled = false;

      }

        else

      {

            //Увеличиваем текущее значение Value индикатора

            //на величину шага Step:

            progressBar1.PerformStep();

            //Перерисовываем клиентскую область

            //элемента управления PictureBox

            //через каждый Interval времени:

            pictureBox1.Refresh();

      }

}

В качестве следующего примера из списка методов класса Graphics (рис. 57.1) выберем второй метод FillEllipse для заполнения фигуры в виде эллипса.  На листинге 57.1 заменим одну строку кода (с методом FillRectangle) на строку кода с методом FillEllipse:

myGraphics.FillEllipse(myHatchBrush, 0, 0, -

picturebox1.Size.Width, filled_height);

На листинге 57.1 заменим одну строку кода (с методом FillRectangle) на строку кода с методом FillPie:

myGraphics.FillPie(myHatchBrush, 0, 0,

pictureBox1.Size.Width, pictureBox1.Size.Height –

progressBar1.Height, 0, filled_height);

Если строку кода с методом FillPie записать в таком виде:

myGraphics.FillPie(myHatchBrush, 0, 0,

pictureBox1.Size.Height, pictureBox1.Size.Height –

ProgressBar1.Height, 0, filled_height);

то получим частный случай заполнения сектора в круге (рис. 57.7).





Начало  Назад  Вперед



Книжный магазин