Автор работы: Пользователь скрыл имя, 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
Учреждение образования
«Белорусский государственный педагогический университет
имени Максима Танка»
Математический факультет
Кафедра прикладной математики и информатики
Курсовая работа
Обобщённое программирование в C#. Анимация объектов в диалоговых Windows-приложения. Способы создания
студентки 3-го курса
математического факультета
Авсюкевич Анны Викторовны
Научный руководитель
Нарейко Нина Николаевна
Защищена «__» ________2011 г.
с оценкой «____________»
Минск, 2011
ОГЛАВЛЕНИЕ
Введение…………………………………………………………
Глава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.userContro
Задача моей курсовой работы — научиться работать с выводом на форму графики (изображения и текста). Я начну с обзора многочисленных пространств имен, предназначенных для работы с графикой в .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() | Этот метод позволяет произвести смещение точки относительно исходной позиции |