Freigeben über


Region Klasse

Definition

Beschreibt das Innere eines Grafik-Shapes, das aus Rechtecke und Pfaden besteht. Diese Klasse kann nicht geerbt 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 wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Im Codebeispiel wird veranschaulicht, wie sie das Data aus einem RegionData-Objekt verwenden, um die Data für eine andere 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. Auf einer Zeichnungsoberfläche hängt das Innere jedoch von der Größe und Form der Pixel ab, die sie darstellen. Eine Anwendung kann Bereiche verwenden, um die Ausgabe von Zeichnungsvorgängen zu beschneiden. Diese Bereiche werden als Beschneidungsbereiche bezeichnet. Weitere Informationen zur Verwendung von Bereichen zum Ausschneiden finden Sie unter How to: Use Clipping with a Region.

Eine Anwendung kann auch Regionen in Treffertests verwenden, z. B. überprüfen, ob ein Punkt oder ein Rechteck einen Bereich überschneidet. Weitere Informationen zur Verwendung von Regionen für Treffertests finden Sie unter How to: Use Hit Testing with a Region.

Eine Anwendung kann einen Bereich mithilfe der Graphics.FillRegion-Methode und eines Brush-Objekts ausfüllen.

Anmerkung

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 Kompilierungszeitwarnungen und Laufzeit-Ausnahmen. Weitere Informationen finden Sie unter System.Drawing.Common nur unter Windowsunterstü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 dieses Region.

Complement(GraphicsPath)

Aktualisiert diesen Region so, dass er den Teil der angegebenen GraphicsPath enthält, der sich nicht mit diesem Regionüberschneidet.

Complement(Rectangle)

Aktualisiert diese Region so, dass der Teil der angegebenen Rectangle Struktur enthalten ist, der sich nicht mit diesem Regionüberschneidet.

Complement(RectangleF)

Aktualisiert diese Region so, dass der Teil der angegebenen RectangleF Struktur enthalten ist, der sich nicht mit diesem Regionüberschneidet.

Complement(Region)

Aktualisiert diesen Region so, dass er den Teil der angegebenen Region enthält, der sich nicht mit diesem Regionüberschneidet.

CreateObjRef(Type)

Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird.

(Geerbt von MarshalByRefObject)
Dispose()

Gibt alle von diesem Regionverwendeten Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
Equals(Region, Graphics)

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

Exclude(GraphicsPath)

Aktualisiert diese Region so, dass nur der Teil des Innenbereichs enthalten ist, der sich nicht mit dem angegebenen GraphicsPathüberschneidet.

Exclude(Rectangle)

Aktualisiert diese Region so, dass nur der Teil des Inneren enthalten ist, der sich nicht mit der angegebenen Rectangle Struktur überschneidet.

Exclude(RectangleF)

Aktualisiert diese Region so, dass nur der Teil des Inneren enthalten ist, der sich nicht mit der angegebenen RectangleF Struktur überschneidet.

Exclude(Region)

Aktualisiert diese Region so, dass nur der Teil des Innenbereichs enthalten ist, der sich nicht mit dem angegebenen Regionüberschneidet.

Finalize()

Ermöglicht es einem Objekt, Ressourcen freizugeben und andere Bereinigungsvorgänge auszuführen, bevor es von der Garbage Collection erneut beansprucht wird.

FromHrgn(IntPtr)

Initialisiert eine neue Region von einem Handle in den angegebenen vorhandenen GDI-Bereich.

GetBounds(Graphics)

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

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetHrgn(Graphics)

Gibt ein Windows-Handle zu diesem Region im angegebenen Grafikkontext zurück.

GetLifetimeService()
Veraltet.

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

(Geerbt von MarshalByRefObject)
GetRegionData()

Gibt einen RegionData zurück, der die Informationen darstellt, die diese Regionbeschreiben.

GetRegionScans(Matrix)

Gibt ein Array von RectangleF Strukturen zurück, die diesen Region nähern, nachdem die angegebene Matrixtransformation angewendet wurde.

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern.

(Geerbt von MarshalByRefObject)
Intersect(GraphicsPath)

Aktualisiert diese Region auf die Schnittmenge von sich selbst mit dem angegebenen GraphicsPath.

Intersect(Rectangle)

Aktualisiert diese Region auf die Schnittmenge von sich selbst mit der angegebenen Rectangle Struktur.

Intersect(RectangleF)

Aktualisiert diese Region auf die Schnittmenge von sich selbst mit der angegebenen RectangleF Struktur.

Intersect(Region)

Aktualisiert diese Region auf die Schnittmenge von sich selbst mit dem angegebenen Region.

IsEmpty(Graphics)

Testet, ob diese Region auf der angegebenen Zeichnungsoberfläche ein leeres Inneres aufweist.

IsInfinite(Graphics)

Testet, ob diese Region eine unendliche Innenfläche auf der angegebenen Zeichnungsoberfläche aufweist.

IsVisible(Int32, Int32, Graphics)

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

IsVisible(Int32, Int32, Int32, Int32)

Überprüft, ob ein Teil des angegebenen Rechtecks in diesem Regionenthalten ist.

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

Überprüft, ob ein Teil des angegebenen Rechtecks in diesem Region enthalten ist, wenn er mithilfe der angegebenen Graphicsgezeichnet wird.

IsVisible(Point)

Testet, ob die angegebene Point-Struktur in diesem Regionenthalten ist.

IsVisible(Point, Graphics)

Überprüft, ob die angegebene Point Struktur in diesem Region enthalten ist, wenn sie mit der angegebenen Graphicsgezeichnet wird.

IsVisible(PointF)

Testet, ob die angegebene PointF-Struktur in diesem Regionenthalten ist.

IsVisible(PointF, Graphics)

Überprüft, ob die angegebene PointF Struktur in diesem Region enthalten ist, wenn sie mit der angegebenen Graphicsgezeichnet wird.

IsVisible(Rectangle)

Überprüft, ob ein Teil der angegebenen Rectangle-Struktur in diesem Regionenthalten ist.

IsVisible(Rectangle, Graphics)

Überprüft, ob ein Teil der angegebenen Rectangle Struktur in diesem Region enthalten ist, wenn er mithilfe der angegebenen Graphicsgezeichnet wird.

IsVisible(RectangleF)

Überprüft, ob ein Teil der angegebenen RectangleF-Struktur in diesem Regionenthalten ist.

IsVisible(RectangleF, Graphics)

Überprüft, ob ein Teil der angegebenen RectangleF Struktur in diesem Region enthalten ist, wenn er mithilfe der angegebenen Graphicsgezeichnet wird.

IsVisible(Single, Single)

Testet, ob der angegebene Punkt in dieser Regionenthalten ist.

IsVisible(Single, Single, Graphics)

Überprüft, ob der angegebene Punkt in diesem Region enthalten ist, wenn er mithilfe der angegebenen Graphicsgezeichnet wird.

IsVisible(Single, Single, Single, Single)

Überprüft, ob ein Teil des angegebenen Rechtecks in diesem Regionenthalten ist.

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

Überprüft, ob ein Teil des angegebenen Rechtecks in diesem Region enthalten ist, wenn er mithilfe der angegebenen Graphicsgezeichnet wird.

MakeEmpty()

Initialisiert diese Region in ein leeres Inneres.

MakeInfinite()

Initialisiert dieses Region Objekt in einem unendlichen Inneren.

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.

(Geerbt von MarshalByRefObject)
ReleaseHrgn(IntPtr)

Gibt den Handle des Regionfrei.

ToString()

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

(Geerbt von Object)
Transform(Matrix)

Transformiert diese Region durch die angegebene Matrix.

Translate(Int32, Int32)

Versetzt die Koordinaten dieses Region um den angegebenen Betrag.

Translate(Single, Single)

Versetzt die Koordinaten dieses Region um den angegebenen Betrag.

Union(GraphicsPath)

Aktualisiert diese Region der Vereinigung von sich selbst und dem angegebenen GraphicsPath.

Union(Rectangle)

Aktualisiert diese Region der Vereinigung von sich selbst und der angegebenen Rectangle Struktur.

Union(RectangleF)

Aktualisiert diese Region der Vereinigung von sich selbst und der angegebenen RectangleF Struktur.

Union(Region)

Aktualisiert diese Region der Vereinigung von sich selbst und dem angegebenen Region.

Xor(GraphicsPath)

Aktualisiert diese Region auf die Union abzüglich der Schnittmenge von sich selbst mit dem angegebenen GraphicsPath.

Xor(Rectangle)

Aktualisiert diese Region auf die Vereinigung abzüglich der Schnittmenge von sich selbst mit der angegebenen Rectangle Struktur.

Xor(RectangleF)

Aktualisiert diese Region auf die Vereinigung abzüglich der Schnittmenge von sich selbst mit der angegebenen RectangleF Struktur.

Xor(Region)

Aktualisiert diese Region auf die Union abzüglich der Schnittmenge von sich selbst mit dem angegebenen Region.

Gilt für:

Weitere Informationen