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 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 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 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 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 uma Região.

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

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

Nome Description
Region()

Inicializa um novo Region.

Region(GraphicsPath)

Inicializa um novo Region com o especificado GraphicsPath.

Region(Rectangle)

Inicializa um novo Region da estrutura especificada Rectangle .

Region(RectangleF)

Inicializa um novo Region da estrutura especificada RectangleF .

Region(RegionData)

Inicializa um novo Region dos dados especificados.

Métodos

Nome Description
Clone()

Cria uma cópia exata disso Region.

Complement(GraphicsPath)

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

Complement(Rectangle)

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

Complement(RectangleF)

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

Complement(Region)

Atualiza isso Region para conter a parte do especificado Region que não se cruza com isso 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 isso Region.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Equals(Region, Graphics)

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

Exclude(GraphicsPath)

Atualiza isso Region para conter apenas a parte de seu interior que não se cruza com o especificado GraphicsPath.

Exclude(Rectangle)

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

Exclude(RectangleF)

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

Exclude(Region)

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

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 RectangleF estrutura que representa um retângulo que associa isso Region à superfície de desenho de um Graphics objeto.

GetHashCode()

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

(Herdado de Object)
GetHrgn(Graphics)

Retorna um identificador do Windows para isso 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 isso Region.

GetRegionScans(Matrix)

Retorna uma matriz de RectangleF estruturas que se aproximam disso Region depois que a transformação de matriz especificada é 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 isso Region para a interseção de si mesmo com o especificado GraphicsPath.

Intersect(Rectangle)

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

Intersect(RectangleF)

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

Intersect(Region)

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

IsEmpty(Graphics)

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

IsInfinite(Graphics)

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

IsVisible(Int32, Int32, Graphics)

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

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

Testa se qualquer parte do retângulo especificado está contida dentro disso Region quando desenhada usando o especificado Graphics.

IsVisible(Int32, Int32, Int32, Int32)

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

IsVisible(Point, Graphics)

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

IsVisible(Point)

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

IsVisible(PointF, Graphics)

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

IsVisible(PointF)

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

IsVisible(Rectangle, Graphics)

Testa se alguma parte da estrutura especificada Rectangle está contida nisso Region quando desenhada usando o especificado Graphics.

IsVisible(Rectangle)

Testa se alguma parte da estrutura especificada Rectangle está contida nessa Region.

IsVisible(RectangleF, Graphics)

Testa se alguma parte da estrutura especificada RectangleF está contida nisso Region quando desenhada usando o especificado Graphics.

IsVisible(RectangleF)

Testa se alguma parte da estrutura especificada RectangleF está contida nessa Region.

IsVisible(Single, Single, Graphics)

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

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

Testa se qualquer parte do retângulo especificado está contida dentro disso Region quando desenhada usando o especificado Graphics.

IsVisible(Single, Single, Single, Single)

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

IsVisible(Single, Single)

Testa se o ponto especificado está contido dentro deste Region.

MakeEmpty()

Inicializa isso Region em um interior vazio.

MakeInfinite()

Inicializa esse Region objeto para um interior infinito.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto atual MarshalByRefObject .

(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 isso Region pelo especificado Matrix.

Translate(Int32, Int32)

Compensa as coordenadas disso Region pela quantidade especificada.

Translate(Single, Single)

Compensa as coordenadas disso Region pela quantidade especificada.

Union(GraphicsPath)

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

Union(Rectangle)

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

Union(RectangleF)

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

Union(Region)

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

Xor(GraphicsPath)

Atualiza isso Region para a união menos a interseção de si mesma com a especificada GraphicsPath.

Xor(Rectangle)

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

Xor(RectangleF)

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

Xor(Region)

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

Aplica-se a

Confira também