
- •Пространство имен System.Drawing
- •7 Сеансы вывода графики
- •8 Перехват события Paint
- •9 Метод Invalidate
- •11 Вывод графических объектов без события Paint
- •14Система координат. Альтернативные единицы измерения
- •Перенос начала координат
- •15 Цвет
- •18 Пространство имен System.Drawing.Drawing2d
- •19 Перечисления Drawing.Drawing2d
- •Кисти и краски
- •Паутина Безье
- •Событие Paint
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 с другим графическим объектом, исключая при этом область пересечения этих двух объектов. |