Region Klass

Definition

Beskriver inredningen i en grafikform som består av rektanglar och sökvägar. Det går inte att ärva den här klassen.

public ref class Region sealed : MarshalByRefObject, IDisposable
[System.Runtime.InteropServices.ComVisible(false)]
public sealed class Region : MarshalByRefObject, IDisposable
public sealed class Region : MarshalByRefObject, IDisposable
[<System.Runtime.InteropServices.ComVisible(false)>]
type Region = class
    inherit MarshalByRefObject
    interface IDisposable
type Region = class
    inherit MarshalByRefObject
    interface IDisposable
Public NotInheritable Class Region
Inherits MarshalByRefObject
Implements IDisposable
Arv
Attribut
Implementeringar

Exempel

Följande kodexempel är utformat för användning med Windows Forms och kräver PaintEventArgse, vilket är en parameter för händelsehanteraren Paint. Kodexemplet visar hur du använder Data från ett RegionData objekt för att ange Data för ett annat 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

Kommentarer

En region är skalbar eftersom dess koordinater anges i världskoordinater. På en rityta är dock dess inre beroende av storleken och formen på pixlarna som representerar den. Ett program kan använda regioner för att klippa utdata från ritningsåtgärder. Dessa regioner kallas för urklippsregioner. Mer information om hur du använder regioner för urklipp finns i Så här använder du Urklipp med en region.

Ett program kan också använda regioner i träfftestningsåtgärder, till exempel för att kontrollera om en punkt eller en rektangel korsar en region. Mer information om hur du använder regioner för träfftestning finns i Så här använder du träfftestning med en region.

Ett program kan fylla en region med hjälp Graphics.FillRegion av metoden och ett Brush objekt.

Note

I .NET 6 och senare versioner stöds endast System.Drawing.Common-paketet, som innehåller den här typen, på Windows-operativsystem. Användning av den här typen i plattformsoberoende appar orsakar kompileringstidsvarningar och körningsfel. Mer information finns i System.Drawing.Common som endast stöds i Windows.

Konstruktorer

Name Description
Region()

Initierar en ny Region.

Region(GraphicsPath)

Initierar en ny Region med angiven GraphicsPath.

Region(Rectangle)

Initierar en ny Region från den angivna Rectangle strukturen.

Region(RectangleF)

Initierar en ny Region från den angivna RectangleF strukturen.

Region(RegionData)

Initierar en ny Region från angivna data.

Metoder

Name Description
Clone()

Skapar en exakt kopia av den här Region.

Complement(GraphicsPath)

Uppdaterar detta Region så att det innehåller den del av den angivna GraphicsPath som inte korsas med den här Region.

Complement(Rectangle)

Uppdaterar detta Region så att det innehåller den del av den angivna Rectangle strukturen som inte korsar den här Region.

Complement(RectangleF)

Uppdaterar detta Region så att det innehåller den del av den angivna RectangleF strukturen som inte korsar den här Region.

Complement(Region)

Uppdaterar detta Region så att det innehåller den del av den angivna Region som inte korsas med den här Region.

CreateObjRef(Type)

Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt.

(Ärvd från MarshalByRefObject)
Dispose()

Släpper alla resurser som används av den här Region.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
Equals(Region, Graphics)

Testar om det angivna Region är identiskt med detta Region på den angivna ritytan.

Exclude(GraphicsPath)

Uppdaterar detta Region så att det endast innehåller den del av dess inre som inte korsar den angivna GraphicsPath.

Exclude(Rectangle)

Uppdaterar detta Region så att det endast innehåller den del av dess inre som inte korsar den angivna Rectangle strukturen.

Exclude(RectangleF)

Uppdaterar detta Region så att det endast innehåller den del av dess inre som inte korsar den angivna RectangleF strukturen.

Exclude(Region)

Uppdaterar detta Region så att det endast innehåller den del av dess inre som inte korsar den angivna Region.

Finalize()

Tillåter att ett objekt försöker frigöra resurser och utföra andra rensningsåtgärder innan det frigörs av skräpinsamling.

FromHrgn(IntPtr)

Initierar en ny Region från en referens till den angivna befintliga GDI-regionen.

GetBounds(Graphics)

Hämtar en RectangleF struktur som representerar en rektangel som begränsar detta Region på ritytan för ett Graphics objekt.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetHrgn(Graphics)

Returnerar en Windows referens till den här Region i den angivna grafikkontexten.

GetLifetimeService()

Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
GetRegionData()

Returnerar en RegionData som representerar den information som beskriver den här Region.

GetRegionScans(Matrix)

Returnerar en matris med RectangleF strukturer som approximeras när Region den angivna matristransformeringen har tillämpats.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
InitializeLifetimeService()

Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
Intersect(GraphicsPath)

Uppdaterar detta Region till skärningspunkten för sig själv med den angivna GraphicsPath.

Intersect(Rectangle)

Uppdaterar detta Region till skärningspunkten för sig själv med den angivna Rectangle strukturen.

Intersect(RectangleF)

Uppdaterar detta Region till skärningspunkten för sig själv med den angivna RectangleF strukturen.

Intersect(Region)

Uppdaterar detta Region till skärningspunkten för sig själv med den angivna Region.

IsEmpty(Graphics)

Testar om detta Region har en tom inredning på den angivna ritytan.

IsInfinite(Graphics)

Testar om detta Region har en oändlig inredning på den angivna ritytan.

IsVisible(Int32, Int32, Graphics)

Testar om den angivna punkten finns i det här Region objektet när den ritas med det angivna Graphics objektet.

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

Testar om någon del av den angivna rektangeln finns i den när Region den ritas med den angivna Graphics.

IsVisible(Int32, Int32, Int32, Int32)

Testar om någon del av den angivna rektangeln finns i den här Region.

IsVisible(Point, Graphics)

Testar om den angivna Point strukturen finns i detta Region när den ritas med hjälp av den angivna Graphics.

IsVisible(Point)

Testar om den angivna Point strukturen finns i den här Region.

IsVisible(PointF, Graphics)

Testar om den angivna PointF strukturen finns i detta Region när den ritas med hjälp av den angivna Graphics.

IsVisible(PointF)

Testar om den angivna PointF strukturen finns i den här Region.

IsVisible(Rectangle, Graphics)

Testar om någon del av den angivna Rectangle strukturen finns i den när Region den ritas med hjälp av den angivna Graphics.

IsVisible(Rectangle)

Testar om någon del av den angivna Rectangle strukturen finns i den här Region.

IsVisible(RectangleF, Graphics)

Testar om någon del av den angivna RectangleF strukturen finns i den när Region den ritas med hjälp av den angivna Graphics.

IsVisible(RectangleF)

Testar om någon del av den angivna RectangleF strukturen finns i den här Region.

IsVisible(Single, Single, Graphics)

Testar om den angivna punkten finns i detta Region när den ritas med hjälp av den angivna Graphics.

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

Testar om någon del av den angivna rektangeln finns i den när Region den ritas med den angivna Graphics.

IsVisible(Single, Single, Single, Single)

Testar om någon del av den angivna rektangeln finns i den här Region.

IsVisible(Single, Single)

Testar om den angivna punkten finns i den här Region.

MakeEmpty()

Initierar detta Region till en tom interiör.

MakeInfinite()

Initierar objektet Region till en oändlig interiör.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
MemberwiseClone(Boolean)

Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet.

(Ärvd från MarshalByRefObject)
ReleaseHrgn(IntPtr)

Släpper handtaget för Region.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)
Transform(Matrix)

Transformerar detta Region med den angivna Matrix.

Translate(Int32, Int32)

Förskjuter koordinaterna för detta Region med det angivna beloppet.

Translate(Single, Single)

Förskjuter koordinaterna för detta Region med det angivna beloppet.

Union(GraphicsPath)

Uppdaterar detta Region till själva unionen och den angivna GraphicsPath.

Union(Rectangle)

Uppdaterar detta Region till själva unionen och den angivna Rectangle strukturen.

Union(RectangleF)

Uppdaterar detta Region till själva unionen och den angivna RectangleF strukturen.

Union(Region)

Uppdaterar detta Region till själva unionen och den angivna Region.

Xor(GraphicsPath)

Uppdaterar detta Region till unionen minus skärningspunkten för sig själv med den angivna GraphicsPath.

Xor(Rectangle)

Uppdaterar detta Region till unionen minus skärningspunkten för sig själv med den angivna Rectangle strukturen.

Xor(RectangleF)

Uppdaterar detta Region till unionen minus skärningspunkten för sig själv med den angivna RectangleF strukturen.

Xor(Region)

Uppdaterar detta Region till unionen minus skärningspunkten för sig själv med den angivna Region.

Gäller för

Se även