Freigeben über


RegionData-Klasse

Kapselt die Daten, aus denen ein Region-Objekt besteht. Diese Klasse kann nicht vererbt werden.

Namespace: System.Drawing.Drawing2D
Assembly: System.Drawing (in system.drawing.dll)

Syntax

'Declaration
Public NotInheritable Class RegionData
'Usage
Dim instance As RegionData
public sealed class RegionData
public ref class RegionData sealed
public final class RegionData
public final class RegionData

Beispiel

Das folgende Beispiel ist für die Verwendung mit Windows Forms vorgesehen und erfordert PaintEventArgse, wobei es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Erstellt ein Rechteck und zeichnet es in Schwarz auf dem Bildschirm.

  • Erstellt einen Bereich mithilfe des Rechtecks.

  • Ruft die RegionData ab.

  • Zeichnet die Bereichsdaten (ein Bytearray) unter Verwendung der DisplayRegionData-Hilfsfunktion auf dem Bildschirm.

Public Sub GetRegionDataExample(ByVal e As PaintEventArgs)

    ' Create the first rectangle and draw it to the screen in black.
    Dim regionRect As New Rectangle(20, 20, 100, 100)
    e.Graphics.DrawRectangle(Pens.Black, regionRect)

    ' Create a region using the first rectangle.
    Dim myRegion As New [Region](regionRect)

    ' Get the RegionData for this region.
    Dim myRegionData As RegionData = myRegion.GetRegionData()
    Dim myRegionDataLength As Integer = myRegionData.Data.Length
    DisplayRegionData(e, myRegionDataLength, myRegionData)
End Sub

' Helper Function for GetRegionData.
Public Sub DisplayRegionData(ByVal e As PaintEventArgs, ByVal len As Integer, _
ByVal dat As RegionData)

    ' Display the result.
    Dim i As Integer
    Dim x As Single = 20
    Dim y As Single = 140
    Dim myFont As New Font("Arial", 8)
    Dim myBrush As New SolidBrush(Color.Black)
    e.Graphics.DrawString("myRegionData = ", myFont, myBrush, _
    New PointF(x, y))
    y = 160
    For i = 0 To len - 1
        If x > 300 Then
            y += 20
            x = 20
        End If
        e.Graphics.DrawString(dat.Data(i).ToString(), myFont, _
        myBrush, New PointF(x, y))
        x += 30
    Next i
End Sub
public void GetRegionDataExample(PaintEventArgs e)
{
             
    // Create a rectangle and draw it to the screen in black.
    Rectangle regionRect = new Rectangle(20, 20, 100, 100);
    e.Graphics.DrawRectangle(Pens.Black, regionRect);
             
    // Create a region using the first rectangle.
    Region myRegion = new Region(regionRect);
             
    // Get the RegionData for this region.
    RegionData myRegionData = myRegion.GetRegionData();
    int myRegionDataLength = myRegionData.Data.Length;
    DisplayRegionData(e, myRegionDataLength, myRegionData);
}
             
// THIS IS A HELPER FUNCTION FOR GetRegionData.
public void DisplayRegionData(PaintEventArgs e,
    int len,
    RegionData dat)
{
             
    // Display the result.
    int i;
    float x = 20, y = 140;
    Font myFont = new Font("Arial", 8);
    SolidBrush myBrush = new SolidBrush(Color.Black);
    e.Graphics.DrawString("myRegionData = ",
        myFont,
        myBrush,
        new PointF(x, y));
    y = 160;
    for(i = 0; i < len; i++)
    {
        if(x > 300)
        {
            y += 20;
            x = 20;
        }
        e.Graphics.DrawString(dat.Data[i].ToString(),
            myFont,
            myBrush,
            new PointF(x, y));
        x += 30;
    }
}
public:
   void GetRegionDataExample( PaintEventArgs^ e )
   {
      // Create a rectangle and draw it to the screen in black.
      Rectangle regionRect = Rectangle(20,20,100,100);
      e->Graphics->DrawRectangle( Pens::Black, regionRect );

      // Create a region using the first rectangle.
      System::Drawing::Region^ myRegion = gcnew System::Drawing::Region( regionRect );

      // Get the RegionData for this region.
      RegionData^ myRegionData = myRegion->GetRegionData();
      int myRegionDataLength = myRegionData->Data->Length;
      DisplayRegionData( e, myRegionDataLength, myRegionData );
   }

   // THIS IS A HELPER FUNCTION FOR GetRegionData.
   void DisplayRegionData( PaintEventArgs^ e, int len, RegionData^ dat )
   {
      // Display the result.
      int i;
      float x = 20,y = 140;
      System::Drawing::Font^ myFont = gcnew System::Drawing::Font( "Arial",8 );
      SolidBrush^ myBrush = gcnew SolidBrush( Color::Black );
      e->Graphics->DrawString( "myRegionData = ", myFont, myBrush, PointF(x,y) );
      y = 160;
      for ( i = 0; i < len; i++ )
      {
         if ( x > 300 )
         {
            y += 20;
            x = 20;
         }
         e->Graphics->DrawString( dat->Data[ i ].ToString(), myFont, myBrush, PointF(x,y) );
         x += 30;
      }
   }
public void GetRegionDataExample(PaintEventArgs e)
{
    // Create a rectangle and draw it to the screen in black.
    Rectangle regionRect = new Rectangle(20, 20, 100, 100);

    e.get_Graphics().DrawRectangle(Pens.get_Black(), regionRect);

    // Create a region using the first rectangle.
    Region myRegion = new Region(regionRect);

    // Get the RegionData for this region.
    RegionData myRegionData = myRegion.GetRegionData();
    int myRegionDataLength = myRegionData.get_Data().length;

    DisplayRegionData(e, myRegionDataLength, myRegionData);
} //GetRegionDataExample

// THIS IS A HELPER FUNCTION FOR GetRegionData.
public void DisplayRegionData(PaintEventArgs e, int len, RegionData dat)
{
    // Display the result.
    int i;
    float x = 20;
    float y = 140;
    Font myFont = new Font("Arial", 8);
    SolidBrush myBrush = new SolidBrush(Color.get_Black());

    e.get_Graphics().DrawString("myRegionData = ", myFont, myBrush, 
        new PointF(x, y));
    y = 160;
    for (i = 0; i < len; i++) {
        if (x > 300) {
            y += 20;
            x = 20;
        }

        e.get_Graphics().DrawString(dat.get_Data().get_Item(i).ToString(), 
            myFont, myBrush, new PointF(x, y));
        x += 30;
    }
} //DisplayRegionData

Vererbungshierarchie

System.Object
  System.Drawing.Drawing2D.RegionData

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

RegionData-Member
System.Drawing.Drawing2D-Namespace