Программирование - это просто
Advertisement
Главная arrow Уроки C# arrow Пишем компьютерную игру на C# arrow Пишем компьютерную игру на C#. Урок 7. Рисование рожицы и ее печать на принтере.
24.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Пишем компьютерную игру на C#. Урок 7. Рисование рожицы и ее печать на принтере. Печать E-mail
Автор megabax   
15.01.2012 г.
New Page 2

Пишем компьютерную игру на C#. Урок 7. Рисование рожицы и ее печать на принтере.

Это последний урок из серии "Пишем компьютерную игру на C#", публикуемый в бесплатном разделе. Начиная со следующего, публикация уроков будет продолжена в платном разделе. В бесплатном же разделе иногда будут публиковать некоторые статьи, посвященные идеям и способам написания игр на C#.

Исходники к уроку вы можете скачать здесь.

На уроке 2 мы изучили общую методику рисования графических примитивов. Сегодня мы нарисуем рожицу и распечатаем ее на принтере.  Давайте сначала нарисуем рожицу. Для этого нам нужно, как в уроке 2, переопределить метод Paint формы:

        private void Form1_Paint(object sender, PaintEventArgs e)

        {

            Pen pen = new Pen(Color.Red,3);

 

            //рисуем контур лица

            e.Graphics.DrawEllipse(pen, 0, 0, 300, 350);

 

            //закрытый глаз - это дуга

            e.Graphics.DrawArc(pen, 50, 50, 50,50, 200, -200);

 

            //открытый глаз - это эллипс

            e.Graphics.DrawEllipse(pen, 195, 50, 50, 50);

 

            //Нос - это линия Безье

            e.Graphics.DrawBezier(pen, 150, 90, 180, 150, 135, 180, 120, 150);

 

            //Рот - канонический сплайн

            Point[] points=new Point[4];

            points[0]=new Point(90,210);

            points[1] = new Point(210, 210);

            points[2] = new Point(150, 270);

            points[3] = new Point(90, 210);

            e.Graphics.DrawCurve(pen, points,0,3,0.9f);

           

            //удаляем объект pen

            pen.Dispose();

        }

Если мы эту программу запустим, то увидим рожицу:

Пишем компьютерную игру на C#. Урок 7. Рисование рожицы и ее печать на принтере.

Теперь сделаем так, что бы рисунок можно было распечатать на принтере. Для этого добавляем компоненты PrintDialog и PrintDocument:

Пишем компьютерную игру на C#. Урок 7. Рисование рожицы и ее печать на принтере.

Теперь пишем обработчик нажатия кнопочки "Печать":

        private void button1_Click(object sender, EventArgs e)

        {

            printDialog1.Document = printDocument1;

            if (printDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) printDocument1.Print();

        }

Но это еще не все. Что бы у нас что то печатало, нужно переопределить событие PrintPage компонента PrintDocument:

Пишем компьютерную игру на C#. Урок 7. Рисование рожицы и ее печать на принтере.

Что бы распечатать на принтер эту рожицу, нам надо в событии PrintPage  сделать тот же самый код, что и при перерисовки формы. По уму, конечно, надо бы создать отдельную процедуру, но в целях обучения пойдет и так, если мы просто тупо скопируем:

        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)

        {

            Pen pen = new Pen(Color.Red, 3);

 

            //рисуем контур лица

            e.Graphics.DrawEllipse(pen, 0, 0, 300, 350);

 

            //закртый глаз - это дуга

            e.Graphics.DrawArc(pen, 50, 50, 50, 50, 200, -200);

 

            //открытый глаз - это эллипс

            e.Graphics.DrawEllipse(pen, 195, 50, 50, 50);

 

            //Нос - это линия безье

            e.Graphics.DrawBezier(pen, 150, 90, 180, 150, 135, 180, 120, 150);

 

            //Рот - канонический сплайн

            Point[] points = new Point[4];

            points[0] = new Point(90, 210);

            points[1] = new Point(210, 210);

            points[2] = new Point(150, 270);

            points[3] = new Point(90, 210);

            e.Graphics.DrawCurve(pen, points, 0, 3, 0.9f);

 

            //удаляем объект pen

            pen.Dispose();

        }

    }

Все, теперь запускаем программу, и мы можем печатать. Сначала при нажатии на кнопочку "Печать" выскочит стандартный диалог печати, а при нажатии на кнопку "Печать" в этом диалоге картинка Уйдет на принтер:

Пишем компьютерную игру на C#. Урок 7. Рисование рожицы и ее печать на принтере.


Скриншоты, приведенные в данной статье, являются цитатами и иллюстрациями   программного продукта "Microsoft Visual Studio 2010", авторское право на который принадлежит Microsoft


 

 

Последнее обновление ( 15.01.2012 г. )
 
Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги