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)

Преобразует это 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.

Применяется к

См. также раздел