Region Clase

Definición

Describe el interior de una forma gráfica formada por rectángulos y rutas. Esta clase no puede heredarse.

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
Herencia
Atributos
Implementaciones

Ejemplos

El ejemplo de código siguiente está diseñado para su uso con Windows Forms y requiere PaintEventArgse, que es un parámetro del Paint controlador de eventos. En el ejemplo de código se muestra cómo usar desde Data un RegionData objeto para establecer para Data otro 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

Comentarios

Una región es escalable porque sus coordenadas se especifican en coordenadas del mundo. Sin embargo, en una superficie de dibujo, su interior depende del tamaño y la forma de los píxeles que lo representan. Una aplicación puede usar regiones para recortar la salida de las operaciones de dibujo. Estas regiones se denominan regiones de recorte. Para obtener más información sobre el uso de regiones para el recorte, vea Cómo: Usar el recorte con una región.

Una aplicación también puede usar regiones en operaciones de prueba de posicionamiento, como comprobar si un punto o un rectángulo interseca una región. Para obtener más información sobre el uso de regiones para pruebas de posicionamiento, vea Cómo: Usar pruebas de posicionamiento con una región.

Una aplicación puede rellenar una región mediante el Graphics.FillRegion método y un Brush objeto .

Nota:

En .NET 6 y versiones posteriores, el paquete System.Drawing.Common, que incluye este tipo, solo se admite en sistemas operativos Windows. El uso de este tipo en aplicaciones multiplataforma provoca advertencias en tiempo de compilación y excepciones en tiempo de ejecución. Para obtener más información, consulte System.Drawing.Common only supported on Windows(System.Drawing.Common only supported on Windows).

Constructores

Region()

Inicializa un nuevo objeto Region.

Region(GraphicsPath)

Inicializa un nuevo objeto Region con el GraphicsPath especificado.

Region(Rectangle)

Inicializa una nueva Region a partir de la estructura Rectangle especificada.

Region(RectangleF)

Inicializa una nueva Region a partir de la estructura RectangleF especificada.

Region(RegionData)

Inicializa una nueva instancia de Region a partir de los datos especificados.

Métodos

Clone()

Crea una copia exacta de este objeto Region.

Complement(GraphicsPath)

Actualiza esta Region para que contenga la parte de la GraphicsPath especificada que no forma una intersección con esta Region.

Complement(Rectangle)

Actualiza esta Region para que contenga la parte de la estructura Rectangle especificada que no forma una intersección con esta Region.

Complement(RectangleF)

Actualiza esta Region para que contenga la parte de la estructura RectangleF especificada que no forma una intersección con esta Region.

Complement(Region)

Actualiza esta Region para que contenga la parte de la Region especificada que no forma una intersección con esta Region.

CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
Dispose()

Libera todos los recursos utilizados por este Region.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Equals(Region, Graphics)

Comprueba si la Region especificada es idéntica a esta Region en la superficie de dibujo especificada.

Exclude(GraphicsPath)

Actualiza esta Region para que contenga solo la parte de su interior que no forma una intersección con el GraphicsPath especificado.

Exclude(Rectangle)

Actualiza esta Region para que contenga solo la parte de su interior que no forma una intersección con la estructura Rectangle especificada.

Exclude(RectangleF)

Actualiza esta Region para que contenga solo la parte de su interior que no forma una intersección con la estructura RectangleF especificada.

Exclude(Region)

Actualiza esta Region para que contenga solo la parte de su interior que no forma una intersección con el Region especificado.

Finalize()

Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de que sea reclamado por la recolección de elementos no utilizados.

FromHrgn(IntPtr)

Inicializa un nuevo Region elemento de un identificador en la región GDI existente especificada.

GetBounds(Graphics)

Obtiene una estructura RectangleF que representa un rectángulo que delimita esta Region en la superficie de dibujo de un objeto Graphics.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetHrgn(Graphics)

Devuelve un identificador de Windows de esta Region en el contexto de gráficos especificado.

GetLifetimeService()
Obsoletos.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
GetRegionData()

Devuelve RegionData que representan la información que describe esta Region.

GetRegionScans(Matrix)

Devuelve una matriz de estructuras RectangleF que se aproxima a esta Region después de que se aplique la transformación de matriz especificada.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InitializeLifetimeService()
Obsoletos.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
Intersect(GraphicsPath)

Actualiza Region con la intersección entre él mismo y GraphicsPath especificado.

Intersect(Rectangle)

Actualiza Region con la intersección entre él mismo y la estructura Rectangle especificada.

Intersect(RectangleF)

Actualiza Region con la intersección entre él mismo y la estructura RectangleF especificada.

Intersect(Region)

Actualiza Region con la intersección entre él mismo y Region especificado.

IsEmpty(Graphics)

Comprueba si esta Region tiene el interior vacío en la superficie de dibujo especificada.

IsInfinite(Graphics)

Comprueba si esta Region tiene un interior infinito en la superficie de dibujo especificada.

IsVisible(Int32, Int32, Graphics)

Comprueba si el punto especificado está dentro de este objeto Region cuando se dibuja con el objeto Graphics especificado.

IsVisible(Int32, Int32, Int32, Int32)

Comprueba si alguna parte del rectángulo especificado está dentro de este Region.

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

Comprueba si alguna parte del rectángulo especificado está dentro de esta Region cuando se dibuja mediante el Graphics especificado.

IsVisible(Point)

Comprueba si la estructura Point especificada está dentro de esta Region.

IsVisible(Point, Graphics)

Comprueba si la estructura Point especificada está dentro de esta Region cuando se dibuja con el Graphics especificado.

IsVisible(PointF)

Comprueba si la estructura PointF especificada está dentro de esta Region.

IsVisible(PointF, Graphics)

Comprueba si la estructura PointF especificada está dentro de esta Region cuando se dibuja con el Graphics especificado.

IsVisible(Rectangle)

Comprueba si alguna parte de la estructura Rectangle especificada está dentro de esta Region.

IsVisible(Rectangle, Graphics)

Comprueba si alguna parte de la estructura Rectangle especificada está dentro de esta Region cuando se dibuja mediante el Graphics especificado.

IsVisible(RectangleF)

Comprueba si alguna parte de la estructura RectangleF especificada está dentro de esta Region.

IsVisible(RectangleF, Graphics)

Comprueba si alguna parte de la estructura RectangleF especificada está dentro de esta Region cuando se dibuja mediante el Graphics especificado.

IsVisible(Single, Single)

Comprueba si el punto especificado está dentro de esta Region.

IsVisible(Single, Single, Graphics)

Comprueba si el punto especificado está dentro de esta Region cuando se dibuja con el Graphics especificado.

IsVisible(Single, Single, Single, Single)

Comprueba si alguna parte del rectángulo especificado está dentro de este Region.

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

Comprueba si alguna parte del rectángulo especificado está dentro de esta Region cuando se dibuja mediante el Graphics especificado.

MakeEmpty()

Inicializa esta Region con un interior vacío.

MakeInfinite()

Inicializa este objeto Region con un interior infinito.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
ReleaseHrgn(IntPtr)

Libera el identificador de Region.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
Transform(Matrix)

Transforma esta Region mediante la Matrix especificada.

Translate(Int32, Int32)

Desplaza las coordenadas de este Region en la cantidad especificada.

Translate(Single, Single)

Desplaza las coordenadas de este Region en la cantidad especificada.

Union(GraphicsPath)

Actualiza esta Region a la unión de ella misma con el GraphicsPath especificado.

Union(Rectangle)

Actualiza esta Region a la unión de ella misma con la estructura Rectangle especificada.

Union(RectangleF)

Actualiza esta Region a la unión de ella misma con la estructura RectangleF especificada.

Union(Region)

Actualiza esta Region a la unión de ella misma con el Region especificado.

Xor(GraphicsPath)

Actualiza esta Region a la unión de ella misma, menos la intersección, con el objeto GraphicsPath especificado.

Xor(Rectangle)

Actualiza esta Region a la unión de ella misma, menos la intersección, con la estructura Rectangle especificada.

Xor(RectangleF)

Actualiza esta Region a la unión de ella misma, menos la intersección, con la estructura RectangleF especificada.

Xor(Region)

Actualiza esta Region a la unión de ella misma, menos la intersección, con el objeto Region especificado.

Se aplica a

Consulte también