Region Classe

Definizione

Descrive la parte interna di una forma grafica composta da rettangoli e tracciati. La 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 Forms e richiede PaintEventArgse, che è un parametro del Paint gestore eventi. L'esempio di codice illustra come usare l'oggetto da un RegionData oggetto per impostare l'oggetto DataData per un altro RegionDataoggetto .

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 vengono specificate nelle coordinate mondiali. 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 clipping con un'area.

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

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

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 e eccezioni in fase di esecuzione. Per altre informazioni, vedere System.Drawing.Common supportato solo in Windows.

Costruttori

Region()

Inizializza un nuovo oggetto Region.

Region(GraphicsPath)

Inizializza un nuovo oggetto Region con il GraphicsPath specificato.

Region(Rectangle)

Inizializza una nuova classe Region dalla struttura Rectangle specificata.

Region(RectangleF)

Inizializza una nuova classe Region dalla struttura RectangleF specificata.

Region(RegionData)

Inizializza una nuova classe Region usando i dati specificati.

Metodi

Clone()

Crea una copia esatta di questo Region.

Complement(GraphicsPath)

Aggiorna questa Region per contenere la parte dell'oggetto GraphicsPath specificato che non si interseca con questa Region.

Complement(Rectangle)

Aggiorna questa classe Region in modo che contenga la parte della struttura Rectangle specificata che non interseca questa classe Region.

Complement(RectangleF)

Aggiorna questa classe Region in modo che contenga la parte della struttura RectangleF specificata che non interseca questa classe Region.

Complement(Region)

Aggiorna questa Region per contenere la parte dell'oggetto Region specificato che non si interseca con questa Region.

CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.

(Ereditato da MarshalByRefObject)
Dispose()

Rilascia tutte le risorse usate da questa classe Region.

Equals(Object)

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

(Ereditato da Object)
Equals(Region, Graphics)

Verifica se l'oggetto Region specificato è identico all'oggetto Region sulla superficie di disegno specificata.

Exclude(GraphicsPath)

Aggiorna questa classe Region in modo che contenga solo la sezione della parte interna che non interseca la classe GraphicsPath specificata.

Exclude(Rectangle)

Aggiorna questa classe Region in modo che contenga solo la sezione della parte interna che non interseca la struttura Rectangle specificata.

Exclude(RectangleF)

Aggiorna questa classe Region in modo che contenga solo la sezione della parte interna che non interseca la struttura RectangleF specificata.

Exclude(Region)

Aggiorna questa classe Region in modo che contenga solo la sezione della parte interna che non interseca la classe Region specificata.

Finalize()

Consente a un oggetto di effettuare un tentativo di liberare risorse ed eseguire altre operazioni di pulizia prima che venga recuperato da Garbage Collection.

FromHrgn(IntPtr)

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

GetBounds(Graphics)

Ottiene una struttura RectangleF che rappresenta un rettangolo che delimita questa classe Region sulla superficie di disegno di un oggettoGraphics.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetHrgn(Graphics)

Restituisce un handle Windows per questa classe Region nel contesto grafico specificato.

GetLifetimeService()
Obsoleti.

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.

(Ereditato da MarshalByRefObject)
GetRegionData()

Restituisce una classe RegionData che rappresenta le informazioni che descrivono questa classe Region.

GetRegionScans(Matrix)

Restituisce una matrice di strutture RectangleF che si approssimano a questa classe Region dopo l'applicazione della matrice di trasformazione.

GetType()

Ottiene l'oggetto 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 questa istanza di Region con la sua intersezione con l'oggetto GraphicsPath specificato.

Intersect(Rectangle)

Aggiorna questa istanza di Region con la sua intersezione con la struttura Rectangle specificata.

Intersect(RectangleF)

Aggiorna questa istanza di Region con la sua intersezione con la struttura RectangleF specificata.

Intersect(Region)

Aggiorna questa istanza di Region con la sua intersezione con l'oggetto Region specificato.

IsEmpty(Graphics)

Verifica se questa classe Region ha una parte interna vuota sulla superficie di disegno specificata.

IsInfinite(Graphics)

Verifica se questa classe Region ha una parte interna infinita sulla superficie di disegno specificata.

IsVisible(Int32, Int32, Graphics)

Verifica se il punto specificato è contenuto in questo oggetto Region, quando viene disegnato utilizzando la classe Graphics indicata.

IsVisible(Int32, Int32, Int32, Int32)

Verifica se una parte del rettangolo specificato è contenuta all'interno di questa classe Region.

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

Verifica se una parte del rettangolo specificato è contenuta all'interno di questa classe Region, quando viene disegnato utilizzando la classe Graphics specificata.

IsVisible(Point)

Verifica se la struttura Point specificata è contenuta all'interno di questa classe Region.

IsVisible(Point, Graphics)

Verifica se la struttura Point specificata è contenuta all'interno di questa classe Region, quando viene disegnata utilizzando la classe Graphics specificata.

IsVisible(PointF)

Verifica se la struttura PointF specificata è contenuta all'interno di questa classe Region.

IsVisible(PointF, Graphics)

Verifica se la struttura PointF specificata è contenuta all'interno di questa classe Region, quando viene disegnata utilizzando la classe Graphics specificata.

IsVisible(Rectangle)

Verifica se una parte della struttura Rectangle specificata è contenuta all'interno di questa classe Region.

IsVisible(Rectangle, Graphics)

Verifica se una parte della struttura Rectangle specificata è contenuta all'interno di questa classe Region, quando viene disegnata utilizzando la classe Graphics specificata.

IsVisible(RectangleF)

Verifica se una parte della struttura RectangleF specificata è contenuta all'interno di questa classe Region.

IsVisible(RectangleF, Graphics)

Verifica se una parte della struttura RectangleF specificata è contenuta all'interno di questa classe Region, quando viene disegnata utilizzando la classe Graphics specificata.

IsVisible(Single, Single)

Verifica se il punto specificato è contenuto all'interno di questa classe Region.

IsVisible(Single, Single, Graphics)

Verifica se il punto specificato è contenuto all'interno di questa classe, Region, quando viene disegnato utilizzando la classe Graphics specificata.

IsVisible(Single, Single, Single, Single)

Verifica se una parte del rettangolo specificato è contenuta all'interno di questa classe Region.

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

Verifica se una parte del rettangolo specificato è contenuta all'interno di questa classe Region, quando viene disegnato utilizzando la classe Graphics specificata.

MakeEmpty()

Inizializza questa classe Region su una parte interna vuota.

MakeInfinite()

Inizializza questo oggetto Region su una parte interna infinita.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.

(Ereditato da MarshalByRefObject)
ReleaseHrgn(IntPtr)

Rilascia l'handle dell'oggetto Region.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
Transform(Matrix)

Trasforma questa classe Region in base alla classe Matrix specificata.

Translate(Int32, Int32)

Esegue l'offset delle coordinate di questa classe Region in base al valore specificato.

Translate(Single, Single)

Esegue l'offset delle coordinate di questa classe Region in base al valore specificato.

Union(GraphicsPath)

Aggiorna questa classe Region all'unione della stessa con la classe GraphicsPath specificata.

Union(Rectangle)

Aggiorna questa classe Region all'unione della stessa con la struttura Rectangle.

Union(RectangleF)

Aggiorna questa classe Region all'unione della stessa con la struttura RectangleF.

Union(Region)

Aggiorna questa classe Region all'unione della stessa con la classe Region specificata.

Xor(GraphicsPath)

Aggiorna questa classe Region all'unione meno l'intersezione della stessa con la classe GraphicsPath specificata.

Xor(Rectangle)

Aggiorna questa classe Region all'unione meno l'intersezione della stessa con la struttura Rectangle specificata.

Xor(RectangleF)

Aggiorna questa classe Region all'unione meno l'intersezione della stessa con la struttura RectangleF specificata.

Xor(Region)

Aggiorna questa classe Region all'unione meno l'intersezione della stessa con la classe Region specificata.

Si applica a

Vedi anche