Автор работы: Пользователь скрыл имя, 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
Тип Size(F)
Типы Size и SIzeF очень просты в применении и практически не требуют комментариев. Эти структуры обеспечивают работу с размерами. Краткий перечень членов этих типов представлен в табл. 4.
Таблица 4. Члены типов Size и SizeF
Член | Назначение |
+ - = != | Перегруженные операторы
|
Height Width
| Эти свойства определяют высоту и ширину — два размера, с которыми работает Size(F)
|
1.4 Возможности класса Graphics
Мы уже знаем, как можно получить объект Graphics в различных ситуациях. Следующее, что мне нужно сделать, — научиться в полной мере использовать его возможности. Все возможности вывода изображений в GDI+ сосредоточены именно в этом классе. Можно считать этот класс неким виртуальным устройством, на которое производится вывод графики. В Graphics определено очень большое количество методов для вывода текста, изображений, геометрических фигур и т. п. Наиболее часто используемые методы этого класса представлены в табл.5.
Таблица 5. Некоторые методы класса Graphics
Метод | Назначение |
FromHdc() FromHwnd() Fromlmage() | Эти статические методы обеспечивают возможность получения объекта Graphics из элемента управления или изображения |
Clear() | Заполняет объект Graphics выбранным пользователем цветом, удаляя его предыдущее содержимое |
DrawArc() DrawBezler() DrawBeziers() DrawCurve() DrawEllipse() DrawIcon() DrawLine() DrawString() | Эти методы (как и многие другие) предназначены для вывода изображенийи геометрических фигур
|
FillElllpse() FillPath() FillPie() FillPolygon() FillRectangle() | Эти методы предназначены для заполнения внутренних областей графических объектов |
В классе Graphics также определен набор свойств, при помощи которых можно настраивать параметры графических объектов. Наиболее важные свойства представлены в табл.6.
Таблица 6. Свойства класса Graphics
Свойство | Назначение |
Clip Graphics ClipBounds VisibleClipBounds IsClipEmpty IsVisibleClipEmpty | Эти свойства позволяют настроить параметры отсечения для объекта |
Transform | Для проведения преобразований координат |
PageUnit PageScale DpiX DpiY | Эти свойства позволяют задать «место происхождения» операции вывода графического объекта и единиц измерения
|
SmoothingMode PixelOffsetMode TextRenderingHint | Позволяют задать плавность переходов для геометрических объектов и текста. Устанавливаются при помощи значений из соответствующих перечислений, определенных в пространствах имен System.Drawing и System.Drawing2D |
Compositing Mode CompositingQuality | Свойство Com positing Mode определяет, будет ли выводимый графический объект выводиться над фоном или будет происходить смешение с фоном. Используются значения из перечисления CompositingMode, определенном в пространстве имен System.Drawing2D. CompositingQuality определяет параметры процесса смешивания. Для него используются значения из перечисления CompositingQuality, также определенном в пространстве имен System.Drawing2D |
InterpolationMode | Определяет интерполяцию между конечными точками. Используются значения из соответствующего перечисления |
1.5 Обзор пространства имен System. Drawing. Drawing2D
Я уже рассмотрела в своей работе типы Реп (перо) и Brush (кисть). Самые простые варианты этих типов (которыми мы обычно и обходились) определены в пространстве имен System. Drawing. Однако есть гораздо более интересные перья и кисти, и для их использования (так же как и множества других возможностей) нам необходимо обратиться к пространству имен System. Огаing.Drawlng2D.
Это дополнительное пространство имен GDI+ (со значительно меньшим количеством типов, чем System.Drawing) обеспечивает возможность устанавливать специальные «наконечники» для перьев (pen caps), создавать кисти, которые рисуют не сплошной полосой, а текстурами, производить различные векторные манипуляции с графическими объектами. Некоторые наиболее интересные типы этогопространства имен представлены в табл.7.
Классы System.Drawing.Drawing2D
Класс | Назначение |
AdjustableArrowCap CustomLJneCap | Определяют «наконечники» для перьев. В результате исходная точка и конец линии получают характерные завершения. Можно использовать выбранный пользователем вариант: или стрелки на конце линии (AdjustableArrowCap), или полностью определенное им самим завершение (Custom LineCap) |
Blend ColorBlend | Используются для смешивания цветов. Обычно используются вместе с LinearGradientBrush |
GraphicsPath GraphicsPath Iterator | Объект GraphicsPath представляет набор связанных линий (прямых и кривых). В данный объект можно поместить практически любой тип геометрической фигуры (например, дуги, прямоугольники, отрезки прямой линии, многоугольники и т. п.) |
PathData | Хранит графические данные для GraphicsPath |
HatchBrush LinearGradientBrush PathGradientBrush | Экзотические типы кистей |
Для этих типов используются значения из перечислений, также определенных в пространстве имен System. Drawl rig. Drawi ng2D. Эти перечисления представлены в табл.8.
Перечисления System.Drawing.Drawing2D
Перечисление | Назначение |
DashStyle | Определяет стиль штриховых линий для пера |
FillMode | Определяет заполнение внутренней области геометрической фигуры |
HatchStyle | Определяет варианты штриховки (для объектов HatchBrush) |
LinearGradientMode | Определяет направление градиентного изменения цвета |
LineCap | Определяет стиль «наконечника» пера |
PenAlignment | Определяет ориентацию пера относительно проводимой им линии |
РепТуре | Определяет тип линии, создаваемой пером |
QualityMode SmoothingMode | Определяют качество вывода графического объекта
|