Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа8_C#.doc
Скачиваний:
111
Добавлен:
23.03.2015
Размер:
458.24 Кб
Скачать

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

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

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

Тип

Назначение

Bitmap

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

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

Brush

Brushes

SolidBrush

SystemBrushes

TextureBrash

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

Color

SystemColors

ColorTranslator

Структура Color определяет набор статических полей, которые могут быть использованы для настройки цвета. Тип ColorTranslator позволяет создавать новый цвет (объект Color) на основе внешнего представления этого цвета (цвета Win32, типа OLE_COLOR, констант цвета в HTML и т. п.)

Font

FontFamiy

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

Graphics

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

Icon

SystemIcons

Эти классы предназначены для работы с пользовательскими и системными значками

Image

ImageAnimator

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

Pen

Pens

SystemPens

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

Point

PointF

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

Таблица 8.2. Типы пространства имен System.Drawing (продожение)

Rectangle

RectangleF

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

Size

SizeF

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

Size использует значения типа int, a SizeF — типа float.

StringFormat

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

Region

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

1.2 Система координат по умолчанию в GDI+

Перед тем как начать знакомиться с тонкостями вывода графических объектов, необходимо разобраться в используемой в GDI+ системе координат. Как и в API Win32, в GDI+ можно выбирать из множества систем координат. Система, принятая по умолчанию, использует в качестве единицы измерения пикселы, а в качестве исходной точки — верхний левый угол. Координата X определяет смещение вправо, а координата Y — смещение вниз (рис. 8.1)

Рис. 8.1 Система координат, используемая по умолчанию

При помощи свойства PageUnitобъекта Graphics мы можем выбрать другую единицу измерения, которая будет применяться к этому объекту. Для свойства PageUnit используются значения из перечисления GraphicsUnit (табл. 8.3).

Таблица 8.3Перечисление GraphicsUnit

Значение

Единица измерения

Display

1/75 часть дюйма

Document

1/300 часть дюйма

Inch

Дюйм

Millimeter

Миллиметр

Pixel

Пиксель

Point

1/72 часть дюйма

В GDI+ для изменения точки отсчета системы координат используется метод TranslateTransform(), определенный в классе Graphics. Например, установить точку отсчета в положение 100.100 относительно системы координат по умолчанию можно следующим образом:

protected override void OnPaint(PaintEventArgs e)

{

e.Graphics.TranslateTransform(100, 100);

}