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 событий. В примере кода показано, как использовать из одного RegionData объекта , чтобы задать для другого RegionDataData .Data
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
Комментарии
Область является масштабируемой, так как ее координаты указываются в мировых координатах. Однако на поверхности рисования ее внутренняя часть зависит от размера и формы пикселей, представляющих ее. Приложение может использовать регионы для обрезки выходных данных операций рисования. Эти регионы называются обрезки регионов. Дополнительные сведения об использовании регионов для обрезки см. в разделе Практическое руководство. Использование обрезки с регионом.
Приложение также может использовать регионы в операциях проверки попадания, таких как проверка того, пересекается ли точка или прямоугольник с областью. Дополнительные сведения об использовании регионов для проверки попадания см. в разделе How to: Use Hit Testing with a Region.
Приложение может заполнить область с помощью Graphics.FillRegion метода и Brush объекта .
Примечание
В .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) |
Проверяет, содержится ли какая-либо часть указанного прямоугольника в области Region. |
IsVisible(Int32, Int32, Int32, Int32, Graphics) |
Проверяет, содержится ли какая-либо часть указанного прямоугольника в области Region при рисовании с использованием указанного графического контекста Graphics. |
IsVisible(Point) |
Проверяет, содержится ли указанная структура Point в области Region. |
IsVisible(Point, Graphics) |
Проверяет, содержится ли указанная структура Point в области Region при рисовании с использованием заданного графического контекста Graphics. |
IsVisible(PointF) |
Проверяет, содержится ли указанная структура PointF в области Region. |
IsVisible(PointF, Graphics) |
Проверяет, содержится ли указанная структура PointF в области Region при рисовании с использованием заданного графического контекста Graphics. |
IsVisible(Rectangle) |
Проверяет, содержится ли какая-либо часть указанной структуры Rectangle в области Region. |
IsVisible(Rectangle, Graphics) |
Проверяет, содержится ли какая-либо часть указанной структуры Rectangle в области Region при рисовании с использованием указанного графического контекста Graphics. |
IsVisible(RectangleF) |
Проверяет, содержится ли какая-либо часть указанной структуры RectangleF в области Region. |
IsVisible(RectangleF, Graphics) |
Проверяет, содержится ли какая-либо часть указанной структуры RectangleF в области Region при рисовании с использованием указанного графического контекста Graphics. |
IsVisible(Single, Single) |
Проверяет, содержится ли указанная точка в области Region. |
IsVisible(Single, Single, Graphics) |
Проверяет, содержится ли указанная точка в области Region при рисовании с использованием заданного графического контекста Graphics. |
IsVisible(Single, Single, Single, Single) |
Проверяет, содержится ли какая-либо часть указанного прямоугольника в области Region. |
IsVisible(Single, Single, Single, Single, Graphics) |
Проверяет, содержится ли какая-либо часть указанного прямоугольника в области Region при рисовании с использованием указанного графического контекста Graphics. |
MakeEmpty() |
Инициализирует область Region для пустой внутренней части. |
MakeInfinite() |
Инициализирует область Region для бесконечной внутренней части. |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
MemberwiseClone(Boolean) |
Создает неполную копию текущего объекта MarshalByRefObject. (Унаследовано от MarshalByRefObject) |
ReleaseHrgn(IntPtr) |
Освобождает дескриптор Region. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Transform(Matrix) |
Преобразовывает область Region с помощью заданной матрицы 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. |
Применяется к
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по