Region Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Descreve o interior de uma forma gráfica composta por retângulos e caminhos. Esta classe não pode ser herdada.
public ref class Region sealed : MarshalByRefObject, IDisposable
[System.Runtime.InteropServices.ComVisible(false)]
public sealed class Region : MarshalByRefObject, IDisposable
public sealed class Region : MarshalByRefObject, IDisposable
[<System.Runtime.InteropServices.ComVisible(false)>]
type Region = class
inherit MarshalByRefObject
interface IDisposable
type Region = class
inherit MarshalByRefObject
interface IDisposable
Public NotInheritable Class Region
Inherits MarshalByRefObject
Implements IDisposable
- Herança
- Atributos
- Implementações
Exemplos
O seguinte exemplo de código foi concebido para uso com Windows Forms e requer PaintEventArgse, que é um parâmetro do tratador 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
Observações
Uma região é escalável porque as suas coordenadas estão especificadas em coordenadas mundiais. Numa superfície de desenho, no entanto, o seu interior depende do tamanho e da forma dos píxeis que a representam. Uma aplicação pode usar regiões para recortar a saída das operações de desenho. Estas regiões são chamadas regiões de cliping. Para mais informações sobre o uso de regiões para clipping, veja Como: Usar Clipping com uma Região.
Uma aplicação também pode usar regiões em operações de teste de acertos, como verificar se um ponto ou um retângulo intersecta uma região. Para mais informações sobre o uso de regiões para hit-testing, veja Como: Usar Hit Testing com uma Região.
Uma aplicação pode preencher uma região usando o Graphics.FillRegion método e um Brush objeto.
Note
No .NET 6 e versões posteriores, o pacote System.Drawing.Common, que inclui esse tipo, só é suportado em sistemas operacionais Windows. O uso deste tipo em aplicações multiplataforma causa avisos em tempo de compilação e exceções em tempo de execução. Para obter mais informações, consulte System.Drawing.Common suportado apenas no Windows.
Construtores
| Name | Description |
|---|---|
| Region() |
Inicializa um novo Region. |
| Region(GraphicsPath) |
Inicializa um novo Region com o especificado GraphicsPath. |
| Region(Rectangle) |
Inicializa uma nova Region a partir da estrutura especificada Rectangle . |
| Region(RectangleF) |
Inicializa uma nova Region a partir da estrutura especificada RectangleF . |
| Region(RegionData) |
Inicializa um novo Region a partir dos dados especificados. |
Métodos
| Name | Description |
|---|---|
| Clone() |
Cria uma cópia exata deste Region. |
| Complement(GraphicsPath) |
Atualiza isto Region para conter a porção do especificado GraphicsPath que não intersecta com este Region. |
| Complement(Rectangle) |
Atualiza isto Region para conter a porção da estrutura especificada Rectangle que não intersecta com esta Region. |
| Complement(RectangleF) |
Atualiza isto Region para conter a porção da estrutura especificada RectangleF que não intersecta com esta Region. |
| Complement(Region) |
Atualiza isto Region para conter a porção do especificado Region que não intersecta com este Region. |
| CreateObjRef(Type) |
Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
| Dispose() |
Liberta todos os recursos utilizados por este 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 este Region na superfície de desenho especificada. |
| Exclude(GraphicsPath) |
Atualiza isto Region para conter apenas a parte do seu interior que não intersecta com o especificado GraphicsPath. |
| Exclude(Rectangle) |
Atualiza isto Region para conter apenas a parte do seu interior que não intersecta com a estrutura especificada Rectangle . |
| Exclude(RectangleF) |
Atualiza isto Region para conter apenas a parte do seu interior que não intersecta com a estrutura especificada RectangleF . |
| Exclude(Region) |
Atualiza isto Region para conter apenas a parte do seu interior que não intersecta com o especificado Region. |
| Finalize() |
Permite que um objeto tente libertar recursos e realizar outras operações de limpeza antes de ser recuperado pela recolha de lixo. |
| FromHrgn(IntPtr) |
Inicializa um novo Region de um handle para a região GDI existente especificada. |
| GetBounds(Graphics) |
Obtém-se uma RectangleF estrutura que representa um retângulo que limita este Region na superfície de desenho de um Graphics objeto. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetHrgn(Graphics) |
Devolve um handle de Windows a este Region no contexto gráfico especificado. |
| GetLifetimeService() |
Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso. (Herdado de MarshalByRefObject) |
| GetRegionData() |
Devolve a RegionData que representa a informação que descreve este Region. |
| GetRegionScans(Matrix) |
Devolve um array de RectangleF estruturas que aproximam isto Region após a aplicação da transformação matricial especificada. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| InitializeLifetimeService() |
Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso. (Herdado de MarshalByRefObject) |
| Intersect(GraphicsPath) |
Atualiza isto Region para a interseção de si próprio com o especificado GraphicsPath. |
| Intersect(Rectangle) |
Atualiza isto Region para a interseção de si próprio com a estrutura especificada Rectangle . |
| Intersect(RectangleF) |
Atualiza isto Region para a interseção de si próprio com a estrutura especificada RectangleF . |
| Intersect(Region) |
Atualiza isto Region para a interseção de si próprio com o especificado Region. |
| IsEmpty(Graphics) |
Testa se este Region tem um interior vazio na superfície de desenho especificada. |
| IsInfinite(Graphics) |
Testa se isto Region tem um interior infinito na superfície de desenho especificada. |
| IsVisible(Int32, Int32, Graphics) |
Testa se o ponto especificado está contido neste Region objeto quando desenhado usando o objeto especificado Graphics . |
| IsVisible(Int32, Int32, Int32, Int32, Graphics) |
Testa se alguma parte do retângulo especificado está contida neste Region quando desenhado usando o .Graphics |
| IsVisible(Int32, Int32, Int32, Int32) |
Testa se alguma parte do retângulo especificado está contida neste Region. |
| IsVisible(Point, Graphics) |
Testa se a estrutura especificada Point está contida neste Region quando desenhada usando o especificado Graphics. |
| IsVisible(Point) |
Testa se a estrutura especificada Point está contida neste Region. |
| IsVisible(PointF, Graphics) |
Testa se a estrutura especificada PointF está contida neste Region quando desenhada usando o especificado Graphics. |
| IsVisible(PointF) |
Testa se a estrutura especificada PointF está contida neste Region. |
| IsVisible(Rectangle, Graphics) |
Testa se alguma parte da estrutura especificada Rectangle está contida neste Region elemento quando desenhado usando o especificado Graphics. |
| IsVisible(Rectangle) |
Testa se alguma parte da estrutura especificada Rectangle está contida neste Region. |
| IsVisible(RectangleF, Graphics) |
Testa se alguma parte da estrutura especificada RectangleF está contida neste Region elemento quando desenhado usando o especificado Graphics. |
| IsVisible(RectangleF) |
Testa se alguma parte da estrutura especificada RectangleF está contida neste Region. |
| IsVisible(Single, Single, Graphics) |
Testa se o ponto especificado está contido neste Region quando desenhado usando o especificado Graphics. |
| IsVisible(Single, Single, Single, Single, Graphics) |
Testa se alguma parte do retângulo especificado está contida neste Region quando desenhado usando o .Graphics |
| IsVisible(Single, Single, Single, Single) |
Testa se alguma parte do retângulo especificado está contida neste Region. |
| IsVisible(Single, Single) |
Testa se o ponto especificado está contido neste Region. |
| MakeEmpty() |
Inicializa isto Region num interior vazio. |
| MakeInfinite() |
Inicializa este Region objeto num interior infinito. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto atual MarshalByRefObject . (Herdado de MarshalByRefObject) |
| ReleaseHrgn(IntPtr) |
Liberta a alavanca do Region. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| Transform(Matrix) | |
| Translate(Int32, Int32) |
Desloca as coordenadas disto Region pela quantidade especificada. |
| Translate(Single, Single) |
Desloca as coordenadas disto Region pela quantidade especificada. |
| Union(GraphicsPath) |
Atualiza isto Region para a união entre si e o especificado GraphicsPath. |
| Union(Rectangle) |
Atualiza isto Region para a união entre si e a estrutura especificada Rectangle . |
| Union(RectangleF) |
Atualiza isto Region para a união entre si e a estrutura especificada RectangleF . |
| Union(Region) |
Atualiza isto Region para a união entre si e o especificado Region. |
| Xor(GraphicsPath) |
Atualiza isto Region para a união menos a interseção de si mesma com o especificado GraphicsPath. |
| Xor(Rectangle) |
Atualiza isto Region para a união menos a interseção de si própria com a estrutura especificada Rectangle . |
| Xor(RectangleF) |
Atualiza isto Region para a união menos a interseção de si própria com a estrutura especificada RectangleF . |
| Xor(Region) |
Atualiza isto Region para a união menos a interseção de si mesma com o especificado Region. |