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


         

Глава Методика изображения летающих предметов  - часть 6


            OffOn = false;

      }

}

Как и выше, наши подробные комментарии на всех листингах помогут читателю грамотно внести изменения в код (если читатель пожелает модернизировать анимацию для учета собственных требований).

Листинг 59.6. Метод для компонента PrintDocument.

private void printDocument1_PrintPage(object sender,

               System.Drawing.Printing.PrintPageEventArgs e)

{

      //Создаем объект myGraphics класса Graphics:

      Graphics myGraphics = CreateGraphics();

      //Связываем объект myGraphics с текущим принтером:

      myGraphics = e.Graphics;

       

      //Рисуем четыре граничные линии прямоугольника,

      //от которых будет отскакивать летающий мяч:

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

      boundary_of_rectangle_x,   boundary_of_rectangle_у,

      width_of_rectangle, boundary_of_rectangle_у);

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

      boundary_of_rectangle_x, boundary_of_rectangle_у,

      boundary_of_rectangle_x, height_of_rectangle);

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

      boundary_of_rectangle_x, height_of_rectangle,

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

      //Рисуем изображение мяча на диалоговой панели Form1

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

      myGraphics.DrawImage(myBitmap,

                        Convert.ToInt32(position_of_ball_x -

                        width_of_bitmap_of_ball / 2),

                        Convert.ToInt32(position_of_ball_y -

                        height_of_bitmap_of_ball / 2),

                        width_of_bitmap_of_ball,

                        height_of_bitmap_of_ball);

       

      //Высвобождаем ресурсы, выделенные объекту myGraphics:

      myGraphics.Dispose();

}

Теперь дважды щелкаем кнопку Print (рис. 59.1). Открывается файл Form1.cs с шаблоном, который после записи нашего кода принимает следующий вид.

Листинг 59.7. Метод для кнопки Print.

private void button3_Click(object sender, EventArgs e)

{

      //Передаем объекту PrintDialog1 информацию об объекте

      //PrintDocument1 при помощи свойства Document:

      printDialog1.Document = printDocument1;

      //Выводим стандартную панель Print при помощи метода

      //ShowDialog для задания параметров печати:

      if (printDialog1.ShowDialog() == DialogResult.OK)

                        printDocument1.Print();

}

Таким образом, по разработанной в данной главе методике можно спроектировать анимацию на экране монитора и печать текущего положения анимации на принтере для любого предмета (в виде мяча, шара, пули и т.п.), летающего в открытом или замкнутом пространстве.




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