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.

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

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