Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 3-4 - Графический интерфейс.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
261.12 Кб
Скачать

23

Тема № 7.Графический интерфейс

1

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

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

System.Drawing

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

System.Drawing.Drawing2D

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

System.Drawing.Imaging

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

System.Drawing.Printing

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

System.Drawing.Text

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

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

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

Bitmap

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

Brush, Brushes, SolidBrush, SystemBrushes, TextureBrush

Объекты Brush (кисть) – абстрактный базовый класс, остальные типы являются производными от него и определяют разные наборы возможностей

Color, SystemColor, ColorTranslator

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

Font, FontFamily

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

Graphics

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

Icon, SystemIcons

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

Image, ImageAnimator

Абстрактный базовый класс, который обеспечивает возможности типов Bitmap, Icon и Cursor. ImageAnimator позволяет производить показ изображений через заданные интервалы времени

Pen, Pens, SystemPens

(Перо) – это класс, при помощи которого можно рисовать прямые и кривые линии.

Point, PointF

Структуры для работы с координатами точки (int и float соответственно)

Rectangle, RectangleF

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

Size, SizeF

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

StringFormat

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

Region

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

Перечисления пространства имен System.Drawing

Перечисление

Назначение

ContentAlignment

Определяет расположение содержимого в области вывода

FontStyle

Определяет свойства шрифта

GraphicsUnit

Определяет единицы измерения для графического элемента

KnownColor

Определяет дружественные имена системных цветов

StringAlignment

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

StringFormatFlags

Определяет форматирование текстовых строк (NoWrap, LineLimit и т.д.)

StringTrimming

Определяет правила обрезания строк, которые не помещаются полностью в отведенную им область

StringUnit

Определяет единицы измерения для строки текста

4

Point:

Член

Назначение

+ - == !=

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

X Y

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

IsEmpty

Возвращает true, если значения x и y равны нулю

Offset()

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

5

Rectangle:

Член

Назначение

== !=

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

Inflate(), Intersect(),

Union()

Эти статические методы позволяют увеличивать размеры прямоугольника и создавать новые прямоугольники путем разделения или объединения существующих

Top, Left, Bottom, Right

Эти свойства устанавливают измерения прямоугольника

Height, Width

Эти свойства определяют высоту и ширину прямоугольника

Contains()

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

X, Y

Определяют координаты верхнего левого угла прямоугольника

public static int Main(string[] args)

{

Rectangle rl = new Rectangle(0, 0, 100, 100);

Point pt3 = new Point (101, 101);

if (rl.Contains (pt3))

Console.WriteLine(“Точка внутри прямоугольника”);

else Console.WriteLine(“Точка вне прямоугольника”);

pt3.X = 50;

pt3.y = 50;

if (rl.Contains (pt3))

Console.WriteLine(“Точка внутри прямоугольника”);

else Console.WriteLine(“Точка вне прямоугольника”);

return 0;

}

6

// Create Region

Rectangle r = new Rectangle(0,0,100,100);

Region rgn = new Region(r);

Член

Назначение

Complement()

Дополняет объект Region другими графическими объектами, которые не пересекаются с исходным объектом Region.

Exclude()

Исключает область, занимаемую другим графическим объектом, из области объекта Region.

GetBounds()

Возвращает объект класса RectangleF, представляющий прямоугольник, в который точно вписана область, занимаемая объектом Region.

Intersect()

Уменьшает область, занимаемую исходным объектом Region, до области пересечения его с другим обектом Region.

IsEmpty(), MakeEmpty()

Позволяют определить, имеет ли область, занимаемая объектом Region, нулевой размер, или установить нулевой размер для данной области.

IsInfinite(), MakeInfinite()

Позволяют определить, является ли область, занимаемая объектом Region, бесконечной, или установить бесконечный размер для данной области.

Transform()

Преобразует область объекта Region на основе передаваемого объекта Matrix.

Translate()

Сдвигает координаты объекта Region на указанную пользователем величину

Union()

Объединяет указанный объект Region с другим графическим объектом

Xor()

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