Region Klasse

Definition

Beschreibt das Innere einer grafischen Form, die aus Rechtecken und Pfaden zusammengesetzt ist. Diese Klasse kann nicht vererbt werden.

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
Vererbung
Attribute
Implementiert

Beispiele

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgse, was ein Parameter des Paint Ereignishandlers ist. Im Codebeispiel wird veranschaulicht, wie das Data von einem RegionData -Objekt verwendet wird, um das für ein Data anderes RegionDatafestzulegen.

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

Hinweise

Eine Region ist skalierbar, da ihre Koordinaten in Weltkoordinaten angegeben werden. Bei einer Zeichnungsoberfläche ist ihr Inneres jedoch von der Größe und Form der Pixel abhängig, die sie darstellen. Eine Anwendung kann Regionen verwenden, um die Ausgabe von Zeichnungsvorgängen zu schneiden. Diese Regionen werden als Abschneidebereiche bezeichnet. Weitere Informationen zur Verwendung von Regionen zum Ausschneiden finden Sie unter Vorgehensweise: Verwenden von Ausschneiden mit einer Region.

Eine Anwendung kann auch Regionen in Treffertests verwenden, z. B. bei der Überprüfung, ob ein Punkt oder ein Rechteck eine Region überschneidet. Weitere Informationen zur Verwendung von Regionen für Treffertests finden Sie unter Vorgehensweise: Verwenden von Treffertests mit einer Region.

Eine Anwendung kann eine Region mit der Graphics.FillRegion -Methode und einem Brush -Objekt füllen.

Hinweis

In .NET 6 und höheren Versionen wird das System.Drawing.Common-Paket, das diesen Typ enthält, nur unter Windows-Betriebssystemen unterstützt. Die Verwendung dieses Typs in plattformübergreifenden Apps führt zu Kompilierzeitwarnungen und Laufzeitausnahmen. Weitere Informationen finden Sie unter System.Drawing.Common wird nur unter Windows unterstützt.

Konstruktoren

Region()

Initialisiert eine neue Region.

Region(GraphicsPath)

Initialisiert eine neue Region mit dem angegebenen GraphicsPath.

Region(Rectangle)

Initialisiert eine neue Region aus der angegebenen Rectangle-Struktur.

Region(RectangleF)

Initialisiert eine neue Region aus der angegebenen RectangleF-Struktur.

Region(RegionData)

Initialisiert eine neue Region aus den angegebenen Daten.

Methoden

Clone()

Erstellt eine genaue Kopie von dieser Region.

Complement(GraphicsPath)

Aktualisiert diese Region, sodass sie den Teil des angegebenen GraphicsPath enthält, der sich nicht mit dieser Region überschneidet.

Complement(Rectangle)

Aktualisiert diese Region, sodass sie den Teil der angegebenen Rectangle-Struktur enthält, der keine Schnittmenge mit dieser Region bildet.

Complement(RectangleF)

Aktualisiert diese Region, sodass sie den Teil der angegebenen RectangleF-Struktur enthält, der keine Schnittmenge mit dieser Region bildet.

Complement(Region)

Aktualisiert diese Region, sodass sie den Teil des angegebenen Region enthält, der sich nicht mit dieser Region überschneidet.

CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.

(Geerbt von MarshalByRefObject)
Dispose()

Gibt alle von dieser Region verwendeten Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Equals(Region, Graphics)

Überprüft, ob die angegebene Region mit dieser Region auf der angegebenen Zeichenoberfläche identisch ist.

Exclude(GraphicsPath)

Aktualisiert diese Region, sodass sie nur den Teil des Inneren enthält, der keine Schnittmenge mit dem angegebenen GraphicsPath bildet.

Exclude(Rectangle)

Aktualisiert diese Region, sodass sie nur den Teil des Inneren enthält, der keine Schnittmenge mit der angegebenen Rectangle-Struktur bildet.

Exclude(RectangleF)

Aktualisiert diese Region, sodass sie nur den Teil des Inneren enthält, der keine Schnittmenge mit der angegebenen RectangleF-Struktur bildet.

Exclude(Region)

Aktualisiert diese Region, sodass sie nur den Teil des Inneren enthält, der keine Schnittmenge mit dem angegebenen Region bildet.

Finalize()

Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird.

FromHrgn(IntPtr)

Initialisiert eine neue Region aus einem Handle in der angegebenen vorhandenen GDI-Region.

GetBounds(Graphics)

Ruft eine RectangleF-Struktur ab, die ein Rechteck darstellt, das diese Region auf der Zeichenoberfläche eines Graphics-Objekts begrenzt.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetHrgn(Graphics)

Gibt ein Windows-Handle für diese Region im angegebenen Grafikkontext zurück.

GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetRegionData()

Gibt ein RegionData zurück, das die Informationen darstellt, die diese Region beschreiben.

GetRegionScans(Matrix)

Gibt ein Array von RectangleF-Strukturen zurück, die dieser Region nach dem Anwenden der angegebenen Matrixtransformation entsprechen.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.

(Geerbt von MarshalByRefObject)
Intersect(GraphicsPath)

Aktualisiert dieses Region mit der Schnittmenge aus sich selbst und dem angegebenen GraphicsPath.

Intersect(Rectangle)

Aktualisiert diese Region mit der Schnittmenge aus sich selbst und der angegebenen Rectangle-Struktur.

Intersect(RectangleF)

Aktualisiert diese Region mit der Schnittmenge aus sich selbst und der angegebenen RectangleF-Struktur.

Intersect(Region)

Aktualisiert dieses Region mit der Schnittmenge aus sich selbst und dem angegebenen Region.

IsEmpty(Graphics)

Überprüft, ob diese Region auf der angegebenen Zeichenoberfläche ein leeres Inneres hat.

IsInfinite(Graphics)

Überprüft, ob diese Region auf der angegebenen Zeichenoberfläche ein unbegrenztes Inneres hat.

IsVisible(Int32, Int32, Graphics)

Überprüft, ob der angegebene Punkt in diesem Region-Objekt enthalten ist, wenn er mithilfe des angegebenen Graphics-Objekts gezeichnet wird.

IsVisible(Int32, Int32, Int32, Int32)

Überprüft, ob ein Teil des angegebenen Rechtecks in dieser Region enthalten ist.

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

Überprüft, ob ein Teil des angegebenen Rechtecks in dieser Region enthalten ist, wenn sie mithilfe des angegebenen Graphics gezeichnet wird.

IsVisible(Point)

Überprüft, ob die angegebene Point-Struktur in dieser Region enthalten ist.

IsVisible(Point, Graphics)

Überprüft, ob die angegebene Point-Struktur in dieser Region enthalten ist, wenn sie mithilfe des angegebenen Graphics gezeichnet wird.

IsVisible(PointF)

Überprüft, ob die angegebene PointF-Struktur in dieser Region enthalten ist.

IsVisible(PointF, Graphics)

Überprüft, ob die angegebene PointF-Struktur in dieser Region enthalten ist, wenn sie mithilfe des angegebenen Graphics gezeichnet wird.

IsVisible(Rectangle)

Überprüft, ob ein Teil der angegebenen Rectangle-Struktur in dieser Region enthalten ist.

IsVisible(Rectangle, Graphics)

Überprüft, ob ein Teil der angegebenen Rectangle-Struktur in dieser Region enthalten ist, wenn sie mithilfe des angegebenen Graphics gezeichnet wird.

IsVisible(RectangleF)

Überprüft, ob ein Teil der angegebenen RectangleF-Struktur in dieser Region enthalten ist.

IsVisible(RectangleF, Graphics)

Überprüft, ob ein Teil der angegebenen RectangleF-Struktur in dieser Region enthalten ist, wenn sie mithilfe des angegebenen Graphics gezeichnet wird.

IsVisible(Single, Single)

Überprüft, ob der angegebene Punkt in dieser Region enthalten ist.

IsVisible(Single, Single, Graphics)

Überprüft, ob der angegebene Punkt in dieser Region enthalten ist, wenn er mithilfe des angegebenen Graphics gezeichnet wird.

IsVisible(Single, Single, Single, Single)

Überprüft, ob ein Teil des angegebenen Rechtecks in dieser Region enthalten ist.

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

Überprüft, ob ein Teil des angegebenen Rechtecks in dieser Region enthalten ist, wenn sie mithilfe des angegebenen Graphics gezeichnet wird.

MakeEmpty()

Initialisiert diese Region mit einem leeren Inneren.

MakeInfinite()

Initialisiert dieses Region-Objekt mit einem unbegrenzten Inneren.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.

(Geerbt von MarshalByRefObject)
ReleaseHrgn(IntPtr)

Gibt das Handle dieses Region frei.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
Transform(Matrix)

Transformiert diese Region mit der angegebenen Matrix.

Translate(Int32, Int32)

Verschiebt die Koordinaten dieser Region um den angegebenen Betrag.

Translate(Single, Single)

Verschiebt die Koordinaten dieser Region um den angegebenen Betrag.

Union(GraphicsPath)

Aktualisiert diese Region bezüglich ihrer Gesamtmenge mit der angegebenen GraphicsPath.

Union(Rectangle)

Aktualisiert diese Region bezüglich ihrer Gesamtmenge mit der angegebenen Rectangle-Struktur.

Union(RectangleF)

Aktualisiert diese Region bezüglich ihrer Gesamtmenge mit der angegebenen RectangleF-Struktur.

Union(Region)

Aktualisiert diese Region bezüglich ihrer Gesamtmenge mit der angegebenen Region.

Xor(GraphicsPath)

Aktualisiert diese Region bezüglich der Gesamtmenge abzüglich ihrer Schnittmenge mit dem angegebenen GraphicsPath.

Xor(Rectangle)

Aktualisiert diese Region bezüglich der Gesamtmenge abzüglich ihrer Schnittmenge mit der angegebenen Rectangle-Struktur.

Xor(RectangleF)

Aktualisiert diese Region bezüglich der Gesamtmenge abzüglich ihrer Schnittmenge mit der angegebenen RectangleF-Struktur.

Xor(Region)

Aktualisiert diese Region bezüglich der Gesamtmenge abzüglich ihrer Schnittmenge mit dem angegebenen Region.

Gilt für:

Weitere Informationen