Region Classe

Definição

Descreve o interior de uma forma de gráfico composta por retângulos e caminhos. Essa classe não pode ser herdada.

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
Herança
Atributos
Implementações

Exemplos

O exemplo de código a seguir foi projetado para uso com Windows Forms e requer PaintEventArgse, que é um parâmetro do Paint manipulador de eventos. O exemplo de código demonstra como usar o Data de um RegionData objeto para definir o Data para outro RegionData.

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

Comentários

Uma região é escalonável porque suas coordenadas são especificadas em coordenadas mundiais. Em uma superfície de desenho, no entanto, seu interior depende do tamanho e da forma dos pixels que o representam. Um aplicativo pode usar regiões para cortar a saída das operações de desenho. Essas regiões são chamadas de regiões de recorte. Para obter mais informações sobre como usar regiões para recorte, consulte Como usar recorte com uma região.

Um aplicativo também pode usar regiões em operações de teste de ocorrência, como verificar se um ponto ou um retângulo cruza uma região. Para obter mais informações sobre como usar regiões para teste de ocorrência, consulte Como usar o Teste de Clique com uma Região.

Um aplicativo pode preencher uma região usando o Graphics.FillRegion método e um Brush objeto .

Observação

No .NET 6 e versões posteriores, o pacote System.Drawing.Common, que inclui esse tipo, só tem suporte em sistemas operacionais Windows. O uso desse tipo em aplicativos multiplataforma causa avisos de tempo de compilação e exceções em tempo de execução. Para obter mais informações, consulte System.Drawing.Common com suporte apenas no Windows.

Construtores

Region()

Inicializa um novo Region.

Region(GraphicsPath)

Inicializa um novo Region com o GraphicsPath especificado.

Region(Rectangle)

Inicializa um novo Region da estrutura Rectangle especificada.

Region(RectangleF)

Inicializa um novo Region da estrutura RectangleF especificada.

Region(RegionData)

Inicializa um novo Region dos dados especificados.

Métodos

Clone()

Cria uma cópia exata deste Region.

Complement(GraphicsPath)

Atualiza este Region para conter a parte do GraphicsPath especificado que não se intersecciona com este Region.

Complement(Rectangle)

Atualiza este Region para conter a parte da estrutura Rectangle especificada que não faz intersecção com este Region.

Complement(RectangleF)

Atualiza este Region para conter a parte da estrutura RectangleF especificada que não faz intersecção com este Region.

Complement(Region)

Atualiza este Region para conter a parte do Region especificado que não se intersecciona com este Region.

CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Libera todos os recursos usados por este Region.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Equals(Region, Graphics)

Testa se o Region especificado é idêntico a este Region na superfície de desenho especificada.

Exclude(GraphicsPath)

Atualiza essa Region para conter apenas a parte do seu interior que não faz interseção com o GraphicsPath especificado.

Exclude(Rectangle)

Atualiza este Region para conter apenas a parte do seu interior que não faz interseção com o Rectangle especificada.

Exclude(RectangleF)

Atualiza este Region para conter apenas a parte do seu interior que não faz interseção com o RectangleF especificada.

Exclude(Region)

Atualiza essa Region para conter apenas a parte do seu interior que não faz interseção com o Region especificado.

Finalize()

Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes de ser recuperado pela coleta de lixo.

FromHrgn(IntPtr)

Inicializa um novo Region de um identificador para a região de GDI existente especificada.

GetBounds(Graphics)

Obtém uma estrutura RectangleF que representa um retângulo que delimita este Region na superfície de desenho de um objeto Graphics.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetHrgn(Graphics)

Retorna um identificador do Windows para este Region no contexto de gráfico especificado.

GetLifetimeService()
Obsoleto.

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.

(Herdado de MarshalByRefObject)
GetRegionData()

Retorna um RegionData que representa as informações que descrevem este Region.

GetRegionScans(Matrix)

Retorna uma matriz de estruturas RectangleF que aproximam este Region após a aplicação da transformação da matriz especificada.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()
Obsoleto.

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.

(Herdado de MarshalByRefObject)
Intersect(GraphicsPath)

Atualiza este Region para a interseção de si mesmo com o GraphicsPath especificado.

Intersect(Rectangle)

Atualiza este Region para a interseção de si mesmo com a estrutura Rectangle especificada.

Intersect(RectangleF)

Atualiza este Region para a interseção de si mesmo com a estrutura RectangleF especificada.

Intersect(Region)

Atualiza este Region para a interseção de si mesmo com o Region especificado.

IsEmpty(Graphics)

Testa se este Region tem um interior vazio na superfície de desenho especificada.

IsInfinite(Graphics)

Testa se este Region tem um interior infinito na superfície de desenho especificada.

IsVisible(Int32, Int32, Graphics)

Testa se o ponto especificado está contido dentro deste objeto Region quando desenhado usando o objeto Graphics especificado.

IsVisible(Int32, Int32, Int32, Int32)

Testa se qualquer parte do retângulo especificado está contida dentro deste Region.

IsVisible(Int32, Int32, Int32, Int32, Graphics)

Testa se qualquer parte do retângulo especificado está contida dentro deste Region desenhado usando o Graphics especificado.

IsVisible(Point)

Testa se a estrutura Point especificada está contida dentro deste Region.

IsVisible(Point, Graphics)

Testa se a estrutura Point especificada está contida dentro deste Region quando desenhada usando o Graphics especificado.

IsVisible(PointF)

Testa se a estrutura PointF especificada está contida dentro deste Region.

IsVisible(PointF, Graphics)

Testa se a estrutura PointF especificada está contida dentro deste Region quando desenhada usando o Graphics especificado.

IsVisible(Rectangle)

Testa se qualquer parte da estrutura Rectangle especificada está contida dentro deste Region.

IsVisible(Rectangle, Graphics)

Testa se qualquer parte da estrutura Rectangle especificada está contida dentro deste Region quando desenhada usando o Graphics especificado.

IsVisible(RectangleF)

Testa se qualquer parte da estrutura RectangleF especificada está contida dentro deste Region.

IsVisible(RectangleF, Graphics)

Testa se qualquer parte da estrutura RectangleF especificada está contida dentro deste Region quando desenhada usando o Graphics especificado.

IsVisible(Single, Single)

Testa se o ponto especificado está contido neste Region.

IsVisible(Single, Single, Graphics)

Testa se o ponto especificado está contido dentro deste Region quando desenhado usando especificado Graphics.

IsVisible(Single, Single, Single, Single)

Testa se qualquer parte do retângulo especificado está contida dentro deste Region.

IsVisible(Single, Single, Single, Single, Graphics)

Testa se qualquer parte do retângulo especificado está contida dentro deste Region desenhado usando o Graphics especificado.

MakeEmpty()

Inicializa este Region para um interior vazio.

MakeInfinite()

Inicializa este objeto Region para um interior infinito.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.

(Herdado de MarshalByRefObject)
ReleaseHrgn(IntPtr)

Libera o identificador do Region.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
Transform(Matrix)

Transforma essa Region pela Matrix especificada.

Translate(Int32, Int32)

Desloca as coordenadas deste Region pelo valor especificado.

Translate(Single, Single)

Desloca as coordenadas deste Region pelo valor especificado.

Union(GraphicsPath)

Atualiza este Region para a união de si mesmo e do GraphicsPath especificado.

Union(Rectangle)

Atualiza este Region para a união de si mesmo e da estrutura Rectangle especificada.

Union(RectangleF)

Atualiza este Region para a união de si mesmo e da estrutura RectangleF especificada.

Union(Region)

Atualiza este Region para a união de si mesmo e do Region especificado.

Xor(GraphicsPath)

Atualiza este Region para a união menos a interseção de si mesmo com o GraphicsPath especificado.

Xor(Rectangle)

Atualiza essa Region à união menos a interseção de si mesmo com a estrutura Rectangle especificada.

Xor(RectangleF)

Atualiza essa Region à união menos a interseção de si mesmo com a estrutura RectangleF especificada.

Xor(Region)

Atualiza este Region para a união menos a interseção de si mesmo com o Region especificado.

Aplica-se a

Confira também