Region Classe

Definição

Descreve o interior de uma forma gráfica composta de 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 o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O exemplo de código demonstra como usar o Data de um objeto RegionData 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 recortar a saída de 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 o 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ências, consulte Como usar o Teste de Ocorrência com umde Região.

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

Nota

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 GraphicsPathespecificado.

Region(Rectangle)

Inicializa um novo Region da estrutura de Rectangle especificada.

Region(RectangleF)

Inicializa um novo Region da estrutura de RectangleF especificada.

Region(RegionData)

Inicializa um novo Region dos dados especificados.

Métodos

Clone()

Cria uma cópia exata deste Region.

Complement(GraphicsPath)

Atualiza esse Region para conter a parte da GraphicsPath especificada que não se cruza com esse Region.

Complement(Rectangle)

Atualiza esse Region para conter a parte da estrutura de Rectangle especificada que não se cruza com esse Region.

Complement(RectangleF)

Atualiza esse Region para conter a parte da estrutura de RectangleF especificada que não se cruza com esse Region.

Complement(Region)

Atualiza esse Region para conter a parte da Region especificada que não se cruza com esse 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 esse Region na superfície de desenho especificada.

Exclude(GraphicsPath)

Atualiza esse Region para conter apenas a parte de seu interior que não se cruza com o GraphicsPathespecificado.

Exclude(Rectangle)

Atualiza esse Region para conter apenas a parte de seu interior que não se cruza com a estrutura de Rectangle especificada.

Exclude(RectangleF)

Atualiza esse Region para conter apenas a parte de seu interior que não se cruza com a estrutura de RectangleF especificada.

Exclude(Region)

Atualiza esse Region para conter apenas a parte de seu interior que não se cruza com o Regionespecificado.

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 vincula essa 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 esse Region no contexto gráfico especificado.

GetLifetimeService()
Obsoleto.

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

(Herdado de MarshalByRefObject)
GetRegionData()

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

GetRegionScans(Matrix)

Retorna uma matriz de estruturas de RectangleF que se aproximam desse Region após a transformação de matriz especificada ser aplicada.

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 dessa instância.

(Herdado de MarshalByRefObject)
Intersect(GraphicsPath)

Atualiza esse Region para a interseção de si mesmo com o GraphicsPathespecificado.

Intersect(Rectangle)

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

Intersect(RectangleF)

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

Intersect(Region)

Atualiza esse Region para a interseção de si mesmo com o Regionespecificado.

IsEmpty(Graphics)

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

IsInfinite(Graphics)

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

IsVisible(Int32, Int32, Graphics)

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

IsVisible(Int32, Int32, Int32, Int32)

Testa se alguma parte do retângulo especificado está contida nesse Region.

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

Testa se qualquer parte do retângulo especificado está contida nesse Region quando desenhada usando o Graphicsespecificado.

IsVisible(Point)

Testa se a estrutura de Point especificada está contida nesse Region.

IsVisible(Point, Graphics)

Testa se a estrutura de Point especificada está contida nesse Region quando desenhada usando o Graphicsespecificado.

IsVisible(PointF)

Testa se a estrutura de PointF especificada está contida nesse Region.

IsVisible(PointF, Graphics)

Testa se a estrutura de PointF especificada está contida nesse Region quando desenhada usando o Graphicsespecificado.

IsVisible(Rectangle)

Testa se qualquer parte da estrutura de Rectangle especificada está contida nesse Region.

IsVisible(Rectangle, Graphics)

Testa se qualquer parte da estrutura de Rectangle especificada está contida nesse Region quando desenhada usando o Graphicsespecificado.

IsVisible(RectangleF)

Testa se qualquer parte da estrutura de RectangleF especificada está contida nesse Region.

IsVisible(RectangleF, Graphics)

Testa se qualquer parte da estrutura de RectangleF especificada está contida nesse Region quando desenhada usando o Graphicsespecificado.

IsVisible(Single, Single)

Testa se o ponto especificado está contido nesse Region.

IsVisible(Single, Single, Graphics)

Testa se o ponto especificado está contido nesse Region quando desenhado usando o Graphicsespecificado.

IsVisible(Single, Single, Single, Single)

Testa se alguma parte do retângulo especificado está contida nesse Region.

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

Testa se qualquer parte do retângulo especificado está contida nesse Region quando desenhada usando o Graphicsespecificado.

MakeEmpty()

Inicializa esse Region para um interior vazio.

MakeInfinite()

Inicializa esse objeto Region para um interior infinito.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(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 esse Region pelo Matrixespecificado.

Translate(Int32, Int32)

Compensa as coordenadas desse Region pela quantidade especificada.

Translate(Single, Single)

Compensa as coordenadas desse Region pela quantidade especificada.

Union(GraphicsPath)

Atualiza esse Region à união de si mesmo e ao GraphicsPathespecificado.

Union(Rectangle)

Atualiza esse Region à união de si mesmo e à estrutura de Rectangle especificada.

Union(RectangleF)

Atualiza esse Region à união de si mesmo e à estrutura de RectangleF especificada.

Union(Region)

Atualiza esse Region à união de si mesmo e ao Regionespecificado.

Xor(GraphicsPath)

Atualiza esse Region para a união menos a interseção de si mesmo com o GraphicsPathespecificado.

Xor(Rectangle)

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

Xor(RectangleF)

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

Xor(Region)

Atualiza esse Region para a união menos a interseção de si mesmo com o Regionespecificado.

Aplica-se a

Confira também