Многие из методов рисования, определенных в объекте System.Drawing.Graphics, требуют спецификации позиции или области, в которой вы хотите визуализировать данный элемент. Например, метод DrawString () требует указания места для визуализации текстовой строки на поверхности объекта типа-наследника Control. Учитывая, что DrawString () многократно перегружен, этот позиционный параметр может быть специфицирован с использованием координат (x, y) или границ “рамки”, в пределах которой нужно рисовать. Другие методы типа GDI + могут потребовать указания ширины и высоты заданного элемента либо внутренних границ геометрического изображения.
Чтобы специфицировать такую информацию, в пространстве имен System.Drawing определены типы Point, Rectangle, Region и Size. Очевидно, что Point представляет точку с координатами (x, y). Тип Rectangle охватывает пару точек, представляющих верхний левый и нижний правый границы прямоугольной области. Тип Size подобен Rectangle, но эта структура представляет размеры, заданные длиной и шириной.
И, наконец, Region обеспечивает способ представления и квалификации непрямоугольных поверхностей.
Переменные-члены, используемые типами Point, Rectangle и Size, внутренне представлены целочисленным типом данных. Если необходим более высокий уровень точности, можете использовать соответствующие типы PointF, RectangleF и SizeF, которые (как несложно догадаться), используют координаты с плавающей точкой. Но независимо от внутреннего представления данных, каждый тип имеет идентичный набор членов, включая ряд перегруженных операций.