Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR_4_Tekhnologia_programmirovania.docx
Скачиваний:
34
Добавлен:
20.03.2016
Размер:
136.7 Кб
Скачать

Лабораторная работа №4. Разработка графических приложений с использованием GDI+. Построение графиков функций

1. Цель работы

Изучить пространства имен и классы интерфейса графических устройств .NET, основные свойства и методы этих классов, применяемые при сеансах вывода графики. Научиться использовать классы GDI+ для рисования графиков функций.

2. Сведения из теории

2.1. Пространства имен GDI+

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

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

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

Описание

System.Drawing

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

System.Drawing.Drawing2D

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

System.Drawing.Imaging

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

System.Drawing.Printing

Определяет типы для вывода графики на принтер и взаимодействия с принтером

System.Drawing.Text

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

2.2. Пространство имен System.Drawing. Служебные типы

Большинство типов для работы с графикой находятся в пространстве имен System.Drawing. Некоторые наиболее важные типы этого пространства имен представлены в таблице:

Тип

Описание

Bitmap

Содержит файл изображения и определяет набор методов для выполнения операций с этим изображением

Brush

Brushes

SolidBrush

SystemBrushes

TextureBrush

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

BufferedGraphics

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

Color

SystemColors

Определяют ряд статических свойств, доступных для чтения и используемых для получения нужного цвета при использовании различных перьев и кистей

Font

FontFamily

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

Graphics

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

Icon

SystemIcons

Представляют пользовательские и системные иконки

Image

ImageAnimator

Image – это абстрактный базовый класс для поддержки возможностей типов Bitmap, Icon и Cursor. Тип ImageAnimator обеспечивает показ изображений через указанные интервалы времени

Pen

Pens

SystemPens

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

Point

PointF

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

Rectangle

Структуры, предназначенные для работы с прямоугольными областями (int/float)

RectangleF

Size

Эти структуры обеспечивают работу с размерами: высотой и шириной (int/float)

SizeF

StringFormat

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

Region

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

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

Для передачи методам подобной информации в пространстве имен System.Drawing предусмотрены служебные типы Point, Rectangle, Region и Size. Основные свойства данных типов приведены в таблице:

Структура

Свойство

Назначение свойства

Point

PointF

X

Координата x

Y

Координата y

Size

SizeF

Width

Ширина

Height

Высота

Rectangle

RectangleF

Left

Координата x левой грани

Right

Координата x правой грани

Top

Координата y верхней грани

Bottom

Координата y нижней грани

Width

Ширина прямоугольника

Height

Высота прямоугольника

X

Аналогично Left

Y

Аналогично Top

Location

Левый верхний угол

Size

Размер прямоугольника