Обобщённое программирование в C#. Анимация объектов в диалоговых Windows-приложения. Способы создания

Автор работы: Пользователь скрыл имя, 18 Марта 2012 в 18:27, курсовая работа

Описание

Приложения с графикой, игры, Computer Aided Design/Computer Aided Manufacture (CAD/CAM — проектирование/производство с помощью компьютера), программы для рисования, для создания графиков и многие другие типы приложений требуют от разработчиков написания кода для работы с графикой. Использование создаваемых пользователем управляющих элементов также предполагает работу с графикой.

Содержание

Введение……………………………………………………………………….3

Глава1. Принципы работы с графикой средствами GDI+

1.1 Пространство имён GDI+ …………………………………...…4
1.2 Пространство имен System.Drawing ………………………......5
1.3 Служебные типы System.Drawing …………………………......6
1.4 Возможности класса Graphics ……………………………….....7
1.5 Обзор пространства имен System. Drawing. Drawing2D …..9
1.6. Вывод изображений …………………………………………..10

Глава 2. Способы создания анимации объектов

2.1 Метод перемещения …………………………………11
2.2 Таймер ...……………………………………………...13


Глава3. Практическая работа «Часики» ………………………..14

Заключение …………………………………………………27

Литература ………………………………………………….28

Работа состоит из  1 файл

курсовая.doc

— 234.50 Кб (Скачать документ)


Учреждение образования

«Белорусский государственный педагогический университет

имени Максима Танка»

 

 

Математический факультет

 

Кафедра прикладной математики и информатики

 

Курсовая работа

 

 

Обобщённое программирование в C#. Анимация объектов в диалоговых Windows-приложения. Способы создания

 

 

 

 

 

 

 

 

 

студентки 3-го курса

математического факультета

Авсюкевич Анны Викторовны

 

Научный руководитель

Нарейко Нина Николаевна

 

Защищена «__» ________2011 г.

с оценкой «____________»

 

 

 

 

Минск, 2011

 


ОГЛАВЛЕНИЕ

 

Введение……………………………………………………………………….3

 

Глава1. Принципы работы с графикой средствами GDI+

                         

                    1.1 Пространство имён GDI+ …………………………………...…4

                              1.2 Пространство имен System.Drawing ………………………......5

                    1.3 Служебные типы System.Drawing …………………………......6

                        1.4 Возможности класса Graphics ……………………………….....7

                      1.5 Обзор пространства имен System. Drawing. Drawing2D …..9

                        1.6. Вывод изображений …………………………………………..10

 

Глава 2. Способы создания анимации объектов

 

                  2.1 Метод перемещения …………………………………11

         2.2 Таймер ...……………………………………………...13

 

 

Глава3. Практическая работа «Часики» ………………………..14

 

Заключение …………………………………………………27

 

Литература ………………………………………………….28

 

26

 



 

Введение

Приложения с графикой, игры, Computer Aided Design/Computer Aided Manufacture (CAD/CAM — проектирование/производство с помощью компьютера), программы для рисования, для создания графиков и многие другие типы приложений требуют от разработчиков написания кода для работы с графикой. Использование создаваемых пользователем управляющих элементов также предполагает работу с графикой. Посредством своей последней библиотеки классов компания Microsoft сделала написание кода для работы с графикой как никогда простым. Для рисования объектов в Windows Forms приложениях язык С# содержит очень богатый набор методов. Пространство имен Drawing содержит множество объектов, которые облегчают программисту работус графикой. Специально для .NET платформы разработчики Microsoft разработали GDI+ библиотеку, значительно повысив возможности GDI (Graphic Device Interface). GDI+ включает возможности рисования простейших объектов (линии, эллипсы...), рисование различных объектов 2D графики, отображение файлов различных графических форматов (bmp, jpeg, gif, wmf, ico, tiff...) и многое другое.

При написании графического кода следует всегда помнить, что Microsoft Windows не запоминает, каким образом выглядит данное графическое окно, если оно заслоняется другими окнами. Если закрытое ранее окно оказывается на переднем плане и становится видимым, то система Windows сообщает приложению, что окно (или некоторая его часть) становится видимым и его можно нарисовать. На приложение возлагается только задача рисования содержимого окна. Вывод границ окна, линейки с заголовком и прочих графических составляющих самого окна система Windows берет на себя. При создании окна, в котором мы собираемся что-либо нарисовать, следует либо объявить класс, который является производным от System.windows.Forms.Form, либо, если мы создаем собственный управляющий элемент, объявить класс, который является производным от System.windows.Form.userControl. В обоих случаях придется переопределять виртуальную функцию onPaint (). В Windows будет происходить обращение к этой функции всякий раз, когда возникает необходимость повторного рисования любой части окна. При наступлении этого события класс PaintEventArgs передается в качестве аргумента.

 

Задача моей курсовой работы — научиться работать с выводом на форму графики (изображения и текста). Я начну с обзора многочисленных пространств имен, предназначенных для работы с графикой в .NET. Мы узнаем, как инициировать сеансы вывода графики и как реагировать на эти сеансы в приложении. Кроме того, мы рассмотрим многочисленные возможности объекта Graphics и приемы работы с ним. При этом нам не обойтись без знакомства с такими типами, как Brush, Pen, Color, Point(а также множеством других).

 

Глава1. Принципы работы с графикой средствами GDI+

 

1.1 Пространство имён GDI+

 

GDI расшифровывается как Graphic Device Interface (интерфейс графических устройств). Этим словом обозначается подсистема Windows, предназначенная для вывода графических изображений (a Windows вся основана на использовании графики) на экран и на принтер. GDI+ — это новый набор программных интерфейсов, используемый в .NET.

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

Таблица 1. Наиболее важные пространства имен GDI+

Пространство имен

Специализация

System.Drawing

важнейшее пространство имен GDI+, которое содержит основные типы для вывода графики (для работы со шрифтами, перьями, кистью и т. п.), а также исключительно важный тип Graphics

System,Drawing,Drawing2D

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

System.Drawing.Imaging

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

System.Drawing.Text

Это пространство имен позволяет работать с системными шрифтами.

Например, тип FontColiection позволяет получать список всех установленных в системе и шрифтов

Чтобы обеспечить возможность работы с графикой в приложении, необходимо добавить в него ссылку на сборку System.Drawing.dll. Если мы воспользуемся шаблоном Windows Application, то эта ссылка будет добавлена автоматически. После этого нам необходимо добавить в список используемых пространств имен строку

using System.Drawing;

и можно приступать к работе с графикой.

1.2 Пространство имен System.Drawing

 

Подавляющее большинство типов для работы с графикой, которые мне потребуются, находятся именно в пространстве имен System.Drawing. Некоторые наиболее важные типы этого пространства имён представлены в табл.2.

 

Таблица 2, Типы пространства имен System.Drawing

Тип

Назначение

Bitmap

Инкапсулирует файл изображения и определяет набор методов для выполнения различных операций с этим изображением

Brush

Brushes

SolidBrush

SystemBrushes

TextureBrush

Объекты Brush (кисть) используются для заполнения пространства внутри геометрических фигур (например, прямоугольников, эллипсов или многоугольников). Тип Brush — это абстрактный базовый класс, остальные типы являются производными от Brush и определяют разные наборы возможностей. Дополнительные типы Brush определены в пространстве именSystem. Drawing. Drawing2D

Graphics

Этот важнейший класс определяет набор методов для вывода текста, изображений и геометрических фигур. Можно считать этот тип эквивалентом типа НОС в Win32

Image

ImageAnimator

Imagе - это абстрактный базовый класс, который обеспечивает возможности типов Bitmap, Icon и Cursor. ImageAnimator позволяет производить показ изображений (типов, производных от Image) через указанные вами интервалы времени

Pen

Pens

SystemPens

Pen (перо) — это класс, при помощи которого можно рисовать прямые и кривые линии. В классе Реп определен набор статических свойств, при помощи которых можно получить объект Реn с заданными свойствами (например, с установленным цветом)

Point

PointF

Эти структуры обеспечивают работу с координатами точки. Point работает со значениями типа int, a PointF — со значениями типа float

Region

Определяет область, занятую геометрической фигурой

 

 

1.3 Служебные типы System.Drawing

Многие методы, определенные в классе Graphic, требуют, чтобы мы указали положение или область для вывода графического объекта. Например, при использовании метода DrawString() необходимо указать местонахождение выводимой текстовой строки на элементе управления. Метод DrawString() многократно перегружен, но один из наиболее часто используемых вариантов требует указания координат (х, у) или прямоугольной области для вывода. Другим часто используемым методам необходимо передавать размеры (высоту и ширину) прямоугольной области, в которую будет производиться вывод, или, если область вывода будет не прямоугольной, задать эту область другим способом.

Для передачи методам подобной информации в пространстве имен System. Drawing предусмотрены типы Point, Rectangle, Region и Size. Point используется для передачи координат (х, у). Rectangle определяет координаты двух точек, которые будут восприняты как верхний левый и нижний правый углы прямоугольника. Тип Size определяет размер прямоугольной области в каком-либо измерении (то есть используется для указания высоты или ширины). Тип Region необходим для работы с непрямоугольными областями.

Внутренние переменные, используемые для хранения данных в Point, Rectangle и Size, являются целочисленными (то есть относятся к типу int). Если же у нас возникла необходимость указывать координаты или размеры при помощи значений с плавающей запятой (тип float), то в нашем распоряжении типы PointF, RectangleF и SizeF. Они, как несложно догадаться, отличаются лишь форматом внутренних переменных (fIoat вместо int). Наборы членов у них полностью одинаковы.

 

Тип Point(F)

Первый служебный тип, который я рассмотрю, - тип System. Drawing. Point (F). Наиболее важные члены этого класса представлены в табл. 3.

Несмотря на то что этот тип чаще всего используется в приложениях GDI+ с графическим пользовательским интерфейсом, его вполне можно использовать в приложениях любого типа.

Таблица 3. Члены типа Point (PointF)

Член

Назначение

+

-

=

!=

Перегруженные операторы для выполнения различных действий с координатами х и у

 

Х

y

Эти свойства позволяют получать и устанавливать значения координат х и у

IsEmpty

Это свойство возвращает true, если значения х и у равны нулю

Offset()

Этот метод позволяет произвести смещение точки относительно исходной позиции

Информация о работе Обобщённое программирование в C#. Анимация объектов в диалоговых Windows-приложения. Способы создания