Compartir a través de


Region Clase

Definición

Describe el interior de una forma gráfica compuesta de rectángulos y rutas de acceso. Esta clase no se puede heredar.

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 controlador de eventos Paint. En el ejemplo de código se muestra cómo usar el Data de un objeto RegionData para establecer el Data para 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 pruebas 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, consulte Cómo: Usar pruebas de posicionamiento con una región.

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

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, vea System.Drawing.Common solo se admite en Windows.

Constructores

Region()

Inicializa un nuevo Region.

Region(GraphicsPath)

Inicializa un nuevo Region con el GraphicsPathespecificado.

Region(Rectangle)

Inicializa un nuevo Region a partir de la estructura de Rectangle especificada.

Region(RectangleF)

Inicializa un nuevo Region a partir de la estructura de RectangleF especificada.

Region(RegionData)

Inicializa un nuevo Region a partir de los datos especificados.

Métodos

Clone()

Crea una copia exacta de este Region.

Complement(GraphicsPath)

Actualiza este Region para contener la parte del GraphicsPath especificado que no interseca con este Region.

Complement(Rectangle)

Actualiza este Region para contener la parte de la estructura de Rectangle especificada que no interseca con este Region.

Complement(RectangleF)

Actualiza este Region para contener la parte de la estructura de RectangleF especificada que no interseca con este Region.

Complement(Region)

Actualiza este Region para contener la parte del Region especificado que no interseca con este Region.

CreateObjRef(Type)

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

(Heredado de MarshalByRefObject)
Dispose()

Libera todos los recursos usados por este Region.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
Equals(Region, Graphics)

Comprueba si el Region especificado es idéntico a este Region en la superficie de dibujo especificada.

Exclude(GraphicsPath)

Actualiza este Region para contener solo la parte de su interior que no interseca con el GraphicsPathespecificado.

Exclude(Rectangle)

Actualiza este Region para contener solo la parte de su interior que no se interseca con la estructura de Rectangle especificada.

Exclude(RectangleF)

Actualiza este Region para contener solo la parte de su interior que no se interseca con la estructura de RectangleF especificada.

Exclude(Region)

Actualiza este Region para contener solo la parte de su interior que no interseca con el Regionespecificado.

Finalize()

Permite a un objeto intentar liberar recursos y realizar otras operaciones de limpieza antes de que la recolección de elementos no utilizados la recupere.

FromHrgn(IntPtr)

Inicializa un nuevo Region desde un identificador a la región GDI existente especificada.

GetBounds(Graphics)

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

GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetHrgn(Graphics)

Devuelve un identificador de Windows a este 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 un RegionData que representa la información que describe este Region.

GetRegionScans(Matrix)

Devuelve una matriz de RectangleF estructuras que aproximan este Region después de aplicar 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 este Region a la intersección de sí misma con el GraphicsPathespecificado.

Intersect(Rectangle)

Actualiza este Region a la intersección de sí misma con la estructura de Rectangle especificada.

Intersect(RectangleF)

Actualiza este Region a la intersección de sí misma con la estructura de RectangleF especificada.

Intersect(Region)

Actualiza este Region a la intersección de sí misma con el Regionespecificado.

IsEmpty(Graphics)

Comprueba si este Region tiene un interior vacío en la superficie de dibujo especificada.

IsInfinite(Graphics)

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

IsVisible(Int32, Int32, Graphics)

Comprueba si el punto especificado está incluido en este objeto Region cuando se dibuja mediante el objeto Graphics especificado.

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

Comprueba si alguna parte del rectángulo especificado está contenida en este Region cuando se dibuja mediante el Graphicsespecificado.

IsVisible(Int32, Int32, Int32, Int32)

Comprueba si alguna parte del rectángulo especificado está contenida en este Region.

IsVisible(Point, Graphics)

Comprueba si la estructura de Point especificada está contenida en este Region cuando se dibuja mediante el Graphicsespecificado.

IsVisible(Point)

Comprueba si la estructura de Point especificada está contenida en este Region.

IsVisible(PointF, Graphics)

Comprueba si la estructura de PointF especificada está contenida en este Region cuando se dibuja mediante el Graphicsespecificado.

IsVisible(PointF)

Comprueba si la estructura de PointF especificada está contenida en este Region.

IsVisible(Rectangle, Graphics)

Comprueba si alguna parte de la estructura de Rectangle especificada se encuentra dentro de este Region cuando se dibuja mediante el Graphicsespecificado.

IsVisible(Rectangle)

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

IsVisible(RectangleF, Graphics)

Comprueba si alguna parte de la estructura de RectangleF especificada se encuentra dentro de este Region cuando se dibuja mediante el Graphicsespecificado.

IsVisible(RectangleF)

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

IsVisible(Single, Single, Graphics)

Comprueba si el punto especificado está contenido en esta Region cuando se dibuja mediante el Graphicsespecificado.

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

Comprueba si alguna parte del rectángulo especificado está contenida en este Region cuando se dibuja mediante el Graphicsespecificado.

IsVisible(Single, Single, Single, Single)

Comprueba si alguna parte del rectángulo especificado está contenida en este Region.

IsVisible(Single, Single)

Comprueba si el punto especificado está incluido en este Region.

MakeEmpty()

Inicializa este Region en un interior vacío.

MakeInfinite()

Inicializa este objeto Region en un interior infinito.

MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
ReleaseHrgn(IntPtr)

Libera el identificador de la Region.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
Transform(Matrix)

Transforma este Region por el Matrixespecificado.

Translate(Int32, Int32)

Desplaza las coordenadas de este Region por la cantidad especificada.

Translate(Single, Single)

Desplaza las coordenadas de este Region por la cantidad especificada.

Union(GraphicsPath)

Actualiza esta Region a la unión de sí misma y al GraphicsPathespecificado.

Union(Rectangle)

Actualiza esta Region a la unión de sí misma y a la estructura de Rectangle especificada.

Union(RectangleF)

Actualiza esta Region a la unión de sí misma y a la estructura de RectangleF especificada.

Union(Region)

Actualiza esta Region a la unión de sí misma y al Regionespecificado.

Xor(GraphicsPath)

Actualiza este Region a la unión menos la intersección de sí misma con el GraphicsPathespecificado.

Xor(Rectangle)

Actualiza este Region a la unión menos la intersección de sí misma con la estructura de Rectangle especificada.

Xor(RectangleF)

Actualiza este Region a la unión menos la intersección de sí misma con la estructura de RectangleF especificada.

Xor(Region)

Actualiza este Region a la unión menos la intersección de sí misma con el Regionespecificado.

Se aplica a

Consulte también