Condividi tramite


Region Classe

Definizione

Descrive l'interno di una forma grafica composta da rettangoli e percorsi. Questa classe non può essere ereditata.

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
Ereditarietà
Attributi
Implementazioni

Esempio

L'esempio di codice seguente è progettato per l'uso con Windows Form e richiede PaintEventArgse, che è un parametro del gestore eventi Paint. Nell'esempio di codice viene illustrato come utilizzare l'Data da un oggetto RegionData per impostare il Data per un altro 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

Commenti

Un'area è scalabile perché le coordinate sono specificate nelle coordinate del mondo. In una superficie di disegno, tuttavia, l'interno dipende dalle dimensioni e dalla forma dei pixel che lo rappresentano. Un'applicazione può usare aree per ritagliare l'output delle operazioni di disegno. Queste aree sono denominate aree di ritaglio. Per altre informazioni sull'uso delle aree per il ritaglio, vedere Procedura: Usare ritagli con un'area.

Un'applicazione può anche usare aree nelle operazioni di hit testing, ad esempio per verificare se un punto o un rettangolo interseca un'area. Per altre informazioni sull'uso delle aree per l'hit testing, vedere Procedura: Usare hit testing con un'area.

Un'applicazione può riempire un'area usando il metodo Graphics.FillRegion e un oggetto Brush.

Nota

In .NET 6 e versioni successive il pacchetto System.Drawing.Common, che include questo tipo, è supportato solo nei sistemi operativi Windows. L'uso di questo tipo nelle app multipiattaforma causa avvisi in fase di compilazione ed eccezioni in fase di esecuzione. Per altre informazioni, vedere System.Drawing.Common supportato solo in Windows.

Costruttori

Region()

Inizializza un nuovo Region.

Region(GraphicsPath)

Inizializza una nuova Region con il GraphicsPathspecificato.

Region(Rectangle)

Inizializza una nuova Region dalla struttura di Rectangle specificata.

Region(RectangleF)

Inizializza una nuova Region dalla struttura di RectangleF specificata.

Region(RegionData)

Inizializza una nuova Region dai dati specificati.

Metodi

Clone()

Crea una copia esatta di questo Region.

Complement(GraphicsPath)

Aggiorna questo Region in modo da contenere la parte del GraphicsPath specificato che non si interseca con questo Region.

Complement(Rectangle)

Aggiorna questo Region in modo che contenga la parte della struttura di Rectangle specificata che non si interseca con questo Region.

Complement(RectangleF)

Aggiorna questo Region in modo che contenga la parte della struttura di RectangleF specificata che non si interseca con questo Region.

Complement(Region)

Aggiorna questo Region in modo da contenere la parte del Region specificato che non si interseca con questo Region.

CreateObjRef(Type)

Crea un oggetto che contiene tutte le informazioni pertinenti necessarie per generare un proxy utilizzato per comunicare con un oggetto remoto.

(Ereditato da MarshalByRefObject)
Dispose()

Rilascia tutte le risorse usate da questo Region.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Equals(Region, Graphics)

Verifica se il Region specificato è identico a questo Region sulla superficie di disegno specificata.

Exclude(GraphicsPath)

Aggiorna questo Region in modo che contenga solo la parte dell'interno che non si interseca con il GraphicsPathspecificato.

Exclude(Rectangle)

Aggiorna questo Region in modo che contenga solo la parte dell'interno che non si interseca con la struttura Rectangle specificata.

Exclude(RectangleF)

Aggiorna questo Region in modo che contenga solo la parte dell'interno che non si interseca con la struttura RectangleF specificata.

Exclude(Region)

Aggiorna questo Region in modo che contenga solo la parte dell'interno che non si interseca con il Regionspecificato.

Finalize()

Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che venga recuperata da Garbage Collection.

FromHrgn(IntPtr)

Inizializza un nuovo Region da un handle all'area GDI esistente specificata.

GetBounds(Graphics)

Ottiene una struttura RectangleF che rappresenta un rettangolo che delimita questo Region sulla superficie di disegno di un oggetto Graphics.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetHrgn(Graphics)

Restituisce un handle di Windows a questo Region nel contesto grafico specificato.

GetLifetimeService()
Obsoleti.

Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
GetRegionData()

Restituisce un RegionData che rappresenta le informazioni che descrivono questo Region.

GetRegionScans(Matrix)

Restituisce una matrice di strutture RectangleF che approssimano questo Region dopo l'applicazione della trasformazione matrice specificata.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
InitializeLifetimeService()
Obsoleti.

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
Intersect(GraphicsPath)

Aggiorna questo Region all'intersezione di se stessa con il GraphicsPathspecificato.

Intersect(Rectangle)

Aggiorna questo Region all'intersezione di se stessa con la struttura di Rectangle specificata.

Intersect(RectangleF)

Aggiorna questo Region all'intersezione di se stessa con la struttura di RectangleF specificata.

Intersect(Region)

Aggiorna questo Region all'intersezione di se stessa con il Regionspecificato.

IsEmpty(Graphics)

Verifica se questa Region ha un interno vuoto sulla superficie di disegno specificata.

IsInfinite(Graphics)

Verifica se questa Region ha un interno infinito sulla superficie di disegno specificata.

IsVisible(Int32, Int32, Graphics)

Verifica se il punto specificato è contenuto all'interno di questo oggetto Region quando viene disegnato utilizzando l'oggetto Graphics specificato.

IsVisible(Int32, Int32, Int32, Int32)

Verifica se una parte del rettangolo specificato è contenuta in questo Region.

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

Verifica se una parte del rettangolo specificato è contenuta all'interno di questa Region quando viene disegnata utilizzando il Graphicsspecificato.

IsVisible(Point)

Verifica se la struttura di Point specificata è contenuta in questo Region.

IsVisible(Point, Graphics)

Verifica se la struttura di Point specificata è contenuta all'interno di questo Region quando viene disegnata utilizzando il Graphicsspecificato.

IsVisible(PointF)

Verifica se la struttura di PointF specificata è contenuta in questo Region.

IsVisible(PointF, Graphics)

Verifica se la struttura di PointF specificata è contenuta all'interno di questo Region quando viene disegnata utilizzando il Graphicsspecificato.

IsVisible(Rectangle)

Verifica se una parte della struttura di Rectangle specificata è contenuta in questo Region.

IsVisible(Rectangle, Graphics)

Verifica se una parte della struttura di Rectangle specificata è contenuta in questo Region quando viene disegnata utilizzando il Graphicsspecificato.

IsVisible(RectangleF)

Verifica se una parte della struttura di RectangleF specificata è contenuta in questo Region.

IsVisible(RectangleF, Graphics)

Verifica se una parte della struttura di RectangleF specificata è contenuta in questo Region quando viene disegnata utilizzando il Graphicsspecificato.

IsVisible(Single, Single)

Verifica se il punto specificato è contenuto in questo Region.

IsVisible(Single, Single, Graphics)

Verifica se il punto specificato è contenuto all'interno di questo Region quando viene disegnato utilizzando il Graphicsspecificato.

IsVisible(Single, Single, Single, Single)

Verifica se una parte del rettangolo specificato è contenuta in questo Region.

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

Verifica se una parte del rettangolo specificato è contenuta all'interno di questa Region quando viene disegnata utilizzando il Graphicsspecificato.

MakeEmpty()

Inizializza questa Region in un interno vuoto.

MakeInfinite()

Inizializza questo oggetto Region in un interno infinito.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia superficiale dell'oggetto MarshalByRefObject corrente.

(Ereditato da MarshalByRefObject)
ReleaseHrgn(IntPtr)

Rilascia l'handle del Region.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
Transform(Matrix)

Trasforma questo Region dall'Matrixspecificato.

Translate(Int32, Int32)

Scosta le coordinate di questo Region in base alla quantità specificata.

Translate(Single, Single)

Scosta le coordinate di questo Region in base alla quantità specificata.

Union(GraphicsPath)

Aggiorna questo Region all'unione di se stessa e alla GraphicsPathspecificata.

Union(Rectangle)

Aggiorna questo Region all'unione di se stessa e alla struttura di Rectangle specificata.

Union(RectangleF)

Aggiorna questo Region all'unione di se stessa e alla struttura di RectangleF specificata.

Union(Region)

Aggiorna questo Region all'unione di se stessa e alla Regionspecificata.

Xor(GraphicsPath)

Aggiorna questo Region all'unione meno l'intersezione di se stessa con il GraphicsPathspecificato.

Xor(Rectangle)

Aggiorna questo Region all'unione meno l'intersezione di se stessa con la struttura di Rectangle specificata.

Xor(RectangleF)

Aggiorna questo Region all'unione meno l'intersezione di se stessa con la struttura di RectangleF specificata.

Xor(Region)

Aggiorna questo Region all'unione meno l'intersezione di se stessa con il Regionspecificato.

Si applica a

Vedi anche