Region Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Описывает интерьер графической фигуры, состоящей из прямоугольников и путей. Этот класс не наследуется.
public ref class Region sealed : MarshalByRefObject, IDisposable
public sealed class Region : MarshalByRefObject, IDisposable
[System.Runtime.InteropServices.ComVisible(false)]
public sealed class Region : MarshalByRefObject, IDisposable
type Region = class
inherit MarshalByRefObject
interface IDisposable
[<System.Runtime.InteropServices.ComVisible(false)>]
type Region = class
inherit MarshalByRefObject
interface IDisposable
Public NotInheritable Class Region
Inherits MarshalByRefObject
Implements IDisposable
- Наследование
- Атрибуты
- Реализации
Примеры
Следующий пример кода предназначен для использования с Windows Forms и требуется PaintEventArgse />, который является параметром обработчика событий Paint. В примере кода показано, как использовать Data один объект для RegionData задания другого DataRegionData.
private:
void DemonstrateRegionData2( PaintEventArgs^ e )
{
//Create a simple region.
System::Drawing::Region^ region1 = gcnew System::Drawing::Region( Rectangle(10,10,100,100) );
// Extract the region data.
System::Drawing::Drawing2D::RegionData^ region1Data = region1->GetRegionData();
array<Byte>^data1;
data1 = region1Data->Data;
// Create a second region.
System::Drawing::Region^ region2 = gcnew System::Drawing::Region;
// Get the region data for the second region.
System::Drawing::Drawing2D::RegionData^ region2Data = region2->GetRegionData();
// Set the Data property for the second region to the Data from the first region.
region2Data->Data = data1;
// Construct a third region using the modified RegionData of the second region.
System::Drawing::Region^ region3 = gcnew System::Drawing::Region( region2Data );
// Dispose of the first and second regions.
delete region1;
delete region2;
// Call ExcludeClip passing in the third region.
e->Graphics->ExcludeClip( region3 );
// Fill in the client rectangle.
e->Graphics->FillRectangle( Brushes::Red, this->ClientRectangle );
delete region3;
}
private void DemonstrateRegionData2(PaintEventArgs e)
{
//Create a simple region.
Region region1 = new Region(new Rectangle(10, 10, 100, 100));
// Extract the region data.
System.Drawing.Drawing2D.RegionData region1Data = region1.GetRegionData();
byte[] data1;
data1 = region1Data.Data;
// Create a second region.
Region region2 = new Region();
// Get the region data for the second region.
System.Drawing.Drawing2D.RegionData region2Data = region2.GetRegionData();
// Set the Data property for the second region to the Data from the first region.
region2Data.Data = data1;
// Construct a third region using the modified RegionData of the second region.
Region region3 = new Region(region2Data);
// Dispose of the first and second regions.
region1.Dispose();
region2.Dispose();
// Call ExcludeClip passing in the third region.
e.Graphics.ExcludeClip(region3);
// Fill in the client rectangle.
e.Graphics.FillRectangle(Brushes.Red, this.ClientRectangle);
region3.Dispose();
}
Private Sub DemonstrateRegionData2(ByVal e As PaintEventArgs)
'Create a simple region.
Dim region1 As New Region(New Rectangle(10, 10, 100, 100))
' Extract the region data.
Dim region1Data As System.Drawing.Drawing2D.RegionData = region1.GetRegionData
Dim data1() As Byte
data1 = region1Data.Data
' Create a second region.
Dim region2 As New Region
' Get the region data for the second region.
Dim region2Data As System.Drawing.Drawing2D.RegionData = region2.GetRegionData()
' Set the Data property for the second region to the Data from the first region.
region2Data.Data = data1
' Construct a third region using the modified RegionData of the second region.
Dim region3 As New Region(region2Data)
' Dispose of the first and second regions.
region1.Dispose()
region2.Dispose()
' Call ExcludeClip passing in the third region.
e.Graphics.ExcludeClip(region3)
' Fill in the client rectangle.
e.Graphics.FillRectangle(Brushes.Red, Me.ClientRectangle)
region3.Dispose()
End Sub
Комментарии
Область масштабируема, так как ее координаты указываются в координатах мира. Однако на поверхности рисования его интерьер зависит от размера и формы пикселей, представляющих его. Приложение может использовать регионы для вырезки выходных данных операций рисования. Эти регионы называются вырезки регионов. Дополнительные сведения об использовании регионов для вырезки см. в разделе "Практическое руководство. Использование обрезки с регионом".
Приложение также может использовать регионы в операциях с хит-тестированием, таких как проверка того, пересекается ли точка или прямоугольник в регионе. Дополнительные сведения об использовании регионов для тестирования попаданий см. в статье "Практическое руководство. Использование тестирования попаданий с регионом".
Приложение может заполнить регион с помощью Graphics.FillRegion метода и Brush объекта.
Note
В .NET 6 и более поздних версиях пакет System.Drawing.Common, который включает этот тип, поддерживается только в операционных системах Windows. Использование этого типа в кроссплатформенных приложениях вызывает предупреждения во время компиляции и исключения во время выполнения. Дополнительные сведения см. в статье System.Drawing.Common, поддерживаемой только в Windows.
Конструкторы
| Имя | Описание |
|---|---|
| Region() |
Инициализирует новый Region. |
| Region(GraphicsPath) |
Инициализирует новый Region с указанным GraphicsPath. |
| Region(Rectangle) |
Инициализирует новый Region из указанной Rectangle структуры. |
| Region(RectangleF) |
Инициализирует новый Region из указанной RectangleF структуры. |
| Region(RegionData) |
Инициализирует новый из Region указанных данных. |
Методы
| Имя | Описание |
|---|---|
| Clone() |
Создает точную копию этого Regionобъекта. |
| Complement(GraphicsPath) |
Обновляет это Region , чтобы содержать часть указанного GraphicsPath , который не пересекается с этим Region. |
| Complement(Rectangle) |
Обновляет эту Region структуру, чтобы она содержала часть указанной Rectangle структуры, которая не пересекается с этим Region. |
| Complement(RectangleF) |
Обновляет эту Region структуру, чтобы она содержала часть указанной RectangleF структуры, которая не пересекается с этим Region. |
| Complement(Region) |
Обновляет это Region , чтобы содержать часть указанного Region , который не пересекается с этим Region. |
| CreateObjRef(Type) |
Создает объект, содержащий все соответствующие сведения, необходимые для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject) |
| Dispose() |
Освобождает все ресурсы, используемые этим Regionпараметром. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| Equals(Region, Graphics) |
Проверяет, идентичен Region ли указанный объект Region на указанной поверхности рисования. |
| Exclude(GraphicsPath) |
Обновляет это Region , чтобы содержать только часть его интерьера, которая не пересекается с указанным GraphicsPath. |
| Exclude(Rectangle) |
Обновляет это Region , чтобы содержать только часть его интерьера, которая не пересекается с указанной Rectangle структурой. |
| Exclude(RectangleF) |
Обновляет это Region , чтобы содержать только часть его интерьера, которая не пересекается с указанной RectangleF структурой. |
| Exclude(Region) |
Обновляет это Region , чтобы содержать только часть его интерьера, которая не пересекается с указанным Region. |
| Finalize() |
Позволяет объекту пытаться освободить ресурсы и выполнять другие операции очистки перед его восстановлением сборкой мусора. |
| FromHrgn(IntPtr) |
Инициализирует новый Region из дескриптора в указанный существующий регион GDI. |
| GetBounds(Graphics) |
RectangleF Получает структуру, представляющую прямоугольник, ограничивающий его Region на поверхности рисования Graphics объекта. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetHrgn(Graphics) |
Возвращает дескриптор Windows в Region этом контексте графики. |
| GetLifetimeService() |
Устаревшие..
Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| GetRegionData() |
RegionData Возвращает значение, представляющее сведения, описывающие этоRegion. |
| GetRegionScans(Matrix) |
Возвращает массив RectangleF структур, приблизительных к этому Region после применения указанного преобразования матрицы. |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| InitializeLifetimeService() |
Устаревшие..
Получает объект службы времени существования для управления политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| Intersect(GraphicsPath) |
Обновляет это Region на пересечение самого себя с указанным GraphicsPath. |
| Intersect(Rectangle) |
Обновляет это Region пересечение самого себя с указанной Rectangle структурой. |
| Intersect(RectangleF) |
Обновляет это Region пересечение самого себя с указанной RectangleF структурой. |
| Intersect(Region) |
Обновляет это Region на пересечение самого себя с указанным Region. |
| IsEmpty(Graphics) |
Проверяет, имеет ли он Region пустой интерьер на указанной поверхности рисования. |
| IsInfinite(Graphics) |
Проверяет, имеет ли он Region бесконечный интерьер на указанной поверхности рисования. |
| IsVisible(Int32, Int32, Graphics) |
Проверяет, содержится ли указанная точка в этом Region объекте при рисовании с помощью указанного Graphics объекта. |
| IsVisible(Int32, Int32, Int32, Int32, Graphics) |
Проверяет, содержится ли любая часть указанного прямоугольника в пределах этого Region элемента при рисовании с помощью указанного Graphicsэлемента. |
| IsVisible(Int32, Int32, Int32, Int32) |
Проверяет, содержится ли любая часть указанного прямоугольника в этом Regionэлементе. |
| IsVisible(Point, Graphics) |
Проверяет, содержится ли указанная Point структура внутри этой Region структуры при рисовании с помощью указанного Graphicsобъекта. |
| IsVisible(Point) |
Проверяет, содержится ли в этой Pointструктуре указанная Region структура. |
| IsVisible(PointF, Graphics) |
Проверяет, содержится ли указанная PointF структура внутри этой Region структуры при рисовании с помощью указанного Graphicsобъекта. |
| IsVisible(PointF) |
Проверяет, содержится ли в этой PointFструктуре указанная Region структура. |
| IsVisible(Rectangle, Graphics) |
Проверяет, содержится ли любая часть указанной Rectangle структуры при Region рисовании с помощью указанного Graphicsобъекта. |
| IsVisible(Rectangle) |
Проверяет, содержится ли в этой Rectangleструктуре любая часть указанной Region структуры. |
| IsVisible(RectangleF, Graphics) |
Проверяет, содержится ли любая часть указанной RectangleF структуры при Region рисовании с помощью указанного Graphicsобъекта. |
| IsVisible(RectangleF) |
Проверяет, содержится ли в этой RectangleFструктуре любая часть указанной Region структуры. |
| IsVisible(Single, Single, Graphics) |
Проверяет, содержится ли указанная точка внутри этой Region точки при рисовании с помощью указанного Graphicsобъекта. |
| IsVisible(Single, Single, Single, Single, Graphics) |
Проверяет, содержится ли любая часть указанного прямоугольника в пределах этого Region элемента при рисовании с помощью указанного Graphicsэлемента. |
| IsVisible(Single, Single, Single, Single) |
Проверяет, содержится ли любая часть указанного прямоугольника в этом Regionэлементе. |
| IsVisible(Single, Single) |
Проверяет, содержится ли в этой точке Regionуказанная точка. |
| MakeEmpty() |
Инициализирует его Region в пустом интерьере. |
| MakeInfinite() |
Инициализирует этот Region объект в бесконечном интерьере. |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| MemberwiseClone(Boolean) |
Создает неглубокую копию текущего MarshalByRefObject объекта. (Унаследовано от MarshalByRefObject) |
| ReleaseHrgn(IntPtr) |
Освобождает дескриптор Region. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
| Transform(Matrix) | |
| Translate(Int32, Int32) |
Смещает координаты этого Region по указанному количеству. |
| Translate(Single, Single) |
Смещает координаты этого Region по указанному количеству. |
| Union(GraphicsPath) |
Обновляет это Region объединение самого себя и указанного GraphicsPath. |
| Union(Rectangle) |
Обновляет это Region объединение себя и указанной Rectangle структуры. |
| Union(RectangleF) |
Обновляет это Region объединение себя и указанной RectangleF структуры. |
| Union(Region) |
Обновляет это Region объединение самого себя и указанного Region. |
| Xor(GraphicsPath) |
Обновляет это Region объединение минус пересечение самого себя с указанным GraphicsPath. |
| Xor(Rectangle) |
Обновляет это Region объединение минус пересечение самого себя с указанной Rectangle структурой. |
| Xor(RectangleF) |
Обновляет это Region объединение минус пересечение самого себя с указанной RectangleF структурой. |
| Xor(Region) |
Обновляет это Region объединение минус пересечение самого себя с указанным Region. |