Класс Region
Класс Region
Тип Region представляет внутреннюю часть геометрической фигуры. С учетом этого становится ясно, почему конструкторы класса Region требуют, чтобы вы предоставили им на вход некоторый уже существующий геометрический шаблон. Предположим, например, что вы создали прямоугольник размером 100?100 пикселей. Чтобы получить доступ к внутренней области прямоугольника, вы можете написать следующее.
// Получение внутренней части прямоугольника.
Rectangle r = new Rectangle(0, 0, 100, 100);
Region rgn = new Region(r);
Имея внутреннюю часть фигуры, вы можете манипулировать ею с использованием различных членов, наподобие следующих:
• Complement() – изменяет данный объект Region на часть указанного графического объекта, не пересекающуюся с данным объектом Region;
• Exclude() – изменяет данный объект Region на ту его часть, которая не пересекается с указанным графическим объектом;
• GetBounds() – возвращает Rectangle(F), который представляет прямоугольный регион, ограничивающий данный объект Region;
• Intersect() – изменяет данный объект Region на его пересечение с указанным графическим объектом:
• Transform() – трансформирует данный объект Region с помощью указанного объекта Matrix;
• Union() – изменяет данный объект Region на его объединение с указанным графическим объектом;
• Translate() – сдвигает координаты данного объекта Region на указанную величину.
Надеюсь, что вы получили общее представление об этих координатных примитивах. Если же вам нужны подробности, обратитесь к документации .NET Framework 2.0 SDK.
Замечание. Типы Size и SizeF заслуживают небольшого дополнительного комментария. Каждый из этих типов определяет свойства Height (высота) и Width (ширина), а также набор перегруженных операций.
Исходный код. Проект UtilTypes размещен в подкаталоге, соответствующем главе 20.