Структура Rectangle

Структура Point

Структура Size

Простейшие графические объекты

В пространстве имен System.Drawing − определены основные структуры для представления:

· точки (координат) − Point и PointF

· размера − Size и SizeF

· прямоугольных областей − Rectangle и RectangleF.

Буква F в конце названия структуры означает, что, в отличие от обычных структур (без F), поля структуры имеют не целочисленные значения, а значения вещественного типа (float).

Структура Size предназначена для хранения ширины и высоты объекта и имеет, для этого, соответствующие открытые свойства Width и Height, доступные как для записи, так и для чтения. Для создания объекта Size с нулевыми значениями Width и Height с помощью конструктора по умолчанию, используется следующую запись:

Size sz = new Size();

Изменить значения свойств в последствии можно, например, следующим образом:

sz.Width = 40;

sz.Height = 60;

Структура содержит два конструктора с аргументами:

public Size(int, int);

public Size(Point);

Конструкторы с аргументами позволяют, в момент создания, инициализировать разные экземпляры структуры по-разному:

Size sz1= new Size(10,20); // sz1.Width = 10, sz1.Height = 20;

Size sz2 = new Size(15,50); // sz2.Width = 15, sz2.Height = 50;

Структура Point содержит открытые свойства X и Y целого типа, доступные, как для записи, так и для чтения.

Для создания точки “pt” можно использовать конструктор по умолчанию:

Point pt = new Point();

Конструктор по умолчанию при создании точки обнуляет значения свойств X и Y.

В дальнейшем координаты точки можно изменить, например, следующим образом:

pt.X =25;

pt.Y=75;

Инициализировать новую точку класса Point, можно используя, конструкторы с аргументами:

public Point(Size);

public Point(int, int);

Например:

Point pt1 = new Point(10,20); // pt1.X =10, pt1.Y=20

Size szm = new Size(27,45);

Point pt2 = new Point(szm); // pt2.X=27, pt2.Y=45

Метод класса:

public void Offset(int dx, int dy);

изменяет текущие координаты точки по формулам: X=X+dx и Y=Y+dy;

Структура предназначена для определения координат и размера прямоугольника. Для хранения и изменения координат используются следующие свойства, доступные для записи и чтения:

Location − координата левого верхнего угла прямоугольника

X − определяет x-координату левого верхнего угла прямоугольника;

Y − определяет y-координату левого верхнего угла прямоугольника;

Size − определяет размер прямоугольника;

Height − определяет высоту прямоугольника;

Width − определяет ширину прямоугольника:

Свойства только для чтения:

Left и Top − определяют соответственно X и Y координаты левого верхнего угла прямоугольника;

Right и Bottom − определяют соответственно X и Y координаты правого нижнего угла прямоугольника;

В структуре определены два конструктора с аргументами:

public Rectangle(

int x, // x-координата левого верхнего угла прямоугольника

int y, // y-координата левого верхнего угла прямоугольника

int width, // ширина прямоугольника

int height // высота прямоугольника

);

public Rectangle(

Point location, // координата левого верхнего угла прямоугольника

Size size // размер прямоугольника

);

С помощью этих конструкторов можно определять размеры и местоположение прямоугольников при их создании, например, следующим образом:

Point pt = new Point(10,15);

Size sz = new Size (50,70);

Rectangle rct = new Rectangle(pt,sz);

Rectangle rect = new Rectangle(20,20,50,30);

Структура Rectangle содержит ряд доступных методов. Рассмотрим некоторые из них.

Метод:

public void Intersect(Rectangle);

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

Например:

Rectangle rect,rct;

rect = new Rectangle(20,25,50,55);

rct = new Rectangle(10,10,30,40);

rect.Intersect(rct);

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

X=20, Y=25, Width=20, Height=25.

Метод:

public static Rectangle Union(Rectangle a, Rectangle b);

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

Методы:

public void Offset(Point pos);

public void Offset(int x, int y);

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

Перегруженные методы:

public bool Contains(int x, int y);

public bool Contains(Point pt);

public bool Contains(Rectangle rect);

Возвращают значение ложь, если точка (x, y, pt) или прямоугольник (rect) не находятся внутри искомого прямоугольника.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: