Graphics.IntersectClip Methode

Definition

Aktualisiert den Ausschneidebereich von diesem Graphics auf die Schnittmenge des aktuellen Ausschneidebereichs und der angegebenen Rectangle-Struktur.

Überlädt

IntersectClip(Rectangle)

Aktualisiert den Ausschneidebereich von diesem Graphics auf die Schnittmenge des aktuellen Ausschneidebereichs und der angegebenen Rectangle-Struktur.

IntersectClip(RectangleF)

Aktualisiert den Ausschneidebereich von diesem Graphics auf die Schnittmenge des aktuellen Ausschneidebereichs und der angegebenen RectangleF-Struktur.

IntersectClip(Region)

Aktualisiert den Ausschneidebereich dieses Graphics auf die Schnittmenge des aktuellen Ausschneidebereichs und des angegebenen Region.

IntersectClip(Rectangle)

Aktualisiert den Ausschneidebereich von diesem Graphics auf die Schnittmenge des aktuellen Ausschneidebereichs und der angegebenen Rectangle-Struktur.

public:
 void IntersectClip(System::Drawing::Rectangle rect);
public void IntersectClip (System.Drawing.Rectangle rect);
member this.IntersectClip : System.Drawing.Rectangle -> unit
Public Sub IntersectClip (rect As Rectangle)

Parameter

rect
Rectangle

Rectangle-Struktur, die den aktuellen Ausschneidebereich schneiden soll.

Beispiele

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgse, was ein Parameter des Paint Ereignishandlers ist. Der Code führt die folgenden Aktionen aus:

  • Erstellt ein Rechteck mit der oberen linken Ecke (0, 0) und legt den Abschneidebereich auf dieses Rechteck fest.

  • Erstellt ein zweites Rechteck mit der oberen linken Ecke (100, 100) und legt den Abschneidebereich auf den Schnittpunkt dieses Rechtecks und den aktuellen Abschneidebereich (das erste Rechteck) fest.

  • Füllt ein großes Rechteck, das beide vorherigen Rechtecke enthält, mit einem durchfarbigen blauen Pinsel.

  • Setzt den Abschneidebereich auf unendlich zurück.

  • Zeichnet Rechtecke um die beiden Beschneidungsbereiche. Es verwendet einen schwarzen Stift für das erste Abschneiderechteck und einen roten Stift für den zweiten Clippingbereich.

Das Ergebnis ist, dass nur die Schnittmenge der beiden Rechtecke mit Blau gefüllt ist.

public:
   void IntersectClipRectangle( PaintEventArgs^ e )
   {
      // Set clipping region.
      Rectangle clipRect = Rectangle(0,0,200,200);
      e->Graphics->SetClip( clipRect );

      // Update clipping region to intersection of
      // existing region with specified rectangle.
      Rectangle intersectRect = Rectangle(100,100,200,200);
      e->Graphics->IntersectClip( intersectRect );

      // Fill rectangle to demonstrate effective clipping region.
      e->Graphics->FillRectangle( gcnew SolidBrush( Color::Blue ), 0, 0, 500, 500 );

      // Reset clipping region to infinite.
      e->Graphics->ResetClip();

      // Draw clipRect and intersectRect to screen.
      e->Graphics->DrawRectangle( gcnew Pen( Color::Black ), clipRect );
      e->Graphics->DrawRectangle( gcnew Pen( Color::Red ), intersectRect );
   }
private void IntersectClipRectangle(PaintEventArgs e)
{

    // Set clipping region.
    Rectangle clipRect = new Rectangle(0, 0, 200, 200);
    e.Graphics.SetClip(clipRect);

    // Update clipping region to intersection of

    // existing region with specified rectangle.
    Rectangle intersectRect = new Rectangle(100, 100, 200, 200);
    e.Graphics.IntersectClip(intersectRect);

    // Fill rectangle to demonstrate effective clipping region.
    e.Graphics.FillRectangle(new SolidBrush(Color.Blue), 0, 0, 500, 500);

    // Reset clipping region to infinite.
    e.Graphics.ResetClip();

    // Draw clipRect and intersectRect to screen.
    e.Graphics.DrawRectangle(new Pen(Color.Black), clipRect);
    e.Graphics.DrawRectangle(new Pen(Color.Red), intersectRect);
}
Private Sub IntersectClipRectangle(ByVal e As PaintEventArgs)

    ' Set clipping region.
    Dim clipRect As New Rectangle(0, 0, 200, 200)
    e.Graphics.SetClip(clipRect)

    ' Update clipping region to intersection of

    ' existing region with specified rectangle.
    Dim intersectRect As New Rectangle(100, 100, 200, 200)
    e.Graphics.IntersectClip(intersectRect)

    ' Fill rectangle to demonstrate effective clipping region.
    e.Graphics.FillRectangle(New SolidBrush(Color.Blue), 0, 0, _
    500, 500)

    ' Reset clipping region to infinite.
    e.Graphics.ResetClip()

    ' Draw clipRect and intersectRect to screen.
    e.Graphics.DrawRectangle(New Pen(Color.Black), clipRect)
    e.Graphics.DrawRectangle(New Pen(Color.Red), intersectRect)
End Sub

Hinweise

Diese Methode weist der Clip -Eigenschaft dieses Graphics Bereichs zu, der durch die Schnittmenge des aktuellen Clipbereichs und des durch den rect Parameter angegebenen Rechtecks dargestellt wird.

Gilt für:

IntersectClip(RectangleF)

Aktualisiert den Ausschneidebereich von diesem Graphics auf die Schnittmenge des aktuellen Ausschneidebereichs und der angegebenen RectangleF-Struktur.

public:
 void IntersectClip(System::Drawing::RectangleF rect);
public void IntersectClip (System.Drawing.RectangleF rect);
member this.IntersectClip : System.Drawing.RectangleF -> unit
Public Sub IntersectClip (rect As RectangleF)

Parameter

rect
RectangleF

RectangleF-Struktur, die den aktuellen Ausschneidebereich schneiden soll.

Beispiele

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgse, was ein Parameter des Paint Ereignishandlers ist. Der Code führt die folgenden Aktionen aus:

  • Erstellt ein Rechteck mit der oberen linken Ecke (0, 0) und legt den Abschneidebereich auf dieses Rechteck fest.

  • Erstellt ein zweites Rechteck mit der oberen linken Ecke (100, 100) und legt den Abschneidebereich auf den Schnittpunkt dieses Rechtecks und den aktuellen Abschneidebereich (das erste Rechteck) fest.

  • Füllt ein großes Rechteck, das beide vorherigen Rechtecke enthält, mit einem durchfarbigen blauen Pinsel.

  • Setzt den Abschneidebereich auf unendlich zurück.

  • Zeichnet Rechtecke um die beiden Beschneidungsbereiche. Es verwendet einen schwarzen Stift für das erste Abschneiderechteck und einen roten Stift für den zweiten Clippingbereich.

Das Ergebnis ist, dass nur die Schnittmenge der beiden Rechtecke mit Blau gefüllt ist.

public:
   void IntersectClipRectangleF1( PaintEventArgs^ e )
   {
      // Set clipping region.
      Rectangle clipRect = Rectangle(0,0,200,200);
      e->Graphics->SetClip( clipRect );

      // Update clipping region to intersection of
      // existing region with specified rectangle.
      RectangleF intersectRectF = RectangleF(100.0F,100.0F,200.0F,200.0F);
      e->Graphics->IntersectClip( intersectRectF );

      // Fill rectangle to demonstrate effective clipping region.
      e->Graphics->FillRectangle( gcnew SolidBrush( Color::Blue ), 0, 0, 500, 500 );

      // Reset clipping region to infinite.
      e->Graphics->ResetClip();

      // Draw clipRect and intersectRect to screen.
      e->Graphics->DrawRectangle( gcnew Pen( Color::Black ), clipRect );
      e->Graphics->DrawRectangle( gcnew Pen( Color::Red ), Rectangle::Round( intersectRectF ) );
   }
private void IntersectClipRectangleF1(PaintEventArgs e)
{

    // Set clipping region.
    Rectangle clipRect = new Rectangle(0, 0, 200, 200);
    e.Graphics.SetClip(clipRect);

    // Update clipping region to intersection of

    // existing region with specified rectangle.
    RectangleF intersectRectF = new RectangleF(100.0F, 100.0F, 200.0F, 200.0F);
    e.Graphics.IntersectClip(intersectRectF);

    // Fill rectangle to demonstrate effective clipping region.
    e.Graphics.FillRectangle(new SolidBrush(Color.Blue), 0, 0, 500, 500);

    // Reset clipping region to infinite.
    e.Graphics.ResetClip();

    // Draw clipRect and intersectRect to screen.
    e.Graphics.DrawRectangle(new Pen(Color.Black), clipRect);
    e.Graphics.DrawRectangle(new Pen(Color.Red), Rectangle.Round(intersectRectF));
}
Private Sub IntersectClipRectangleF1(ByVal e As PaintEventArgs)

    ' Set clipping region.
    Dim clipRect As New Rectangle(0, 0, 200, 200)
    e.Graphics.SetClip(clipRect)

    ' Update clipping region to intersection of

    ' existing region with specified rectangle.
    Dim intersectRectF As New RectangleF(100.0F, 100.0F, 200.0F, 200.0F)
    e.Graphics.IntersectClip(intersectRectF)

    ' Fill rectangle to demonstrate effective clipping region.
    e.Graphics.FillRectangle(New SolidBrush(Color.Blue), 0, 0, _
    500, 500)

    ' Reset clipping region to infinite.
    e.Graphics.ResetClip()

    ' Draw clipRect and intersectRect to screen.
    e.Graphics.DrawRectangle(New Pen(Color.Black), clipRect)
    e.Graphics.DrawRectangle(New Pen(Color.Red), _
    Rectangle.Round(intersectRectF))
End Sub

Hinweise

Diese Methode weist der Clip -Eigenschaft dieses Graphics Bereichs zu, der durch die Schnittmenge des aktuellen Clipbereichs und des durch den rect Parameter angegebenen Rechtecks dargestellt wird.

Gilt für:

IntersectClip(Region)

Aktualisiert den Ausschneidebereich dieses Graphics auf die Schnittmenge des aktuellen Ausschneidebereichs und des angegebenen Region.

public:
 void IntersectClip(System::Drawing::Region ^ region);
public void IntersectClip (System.Drawing.Region region);
member this.IntersectClip : System.Drawing.Region -> unit
Public Sub IntersectClip (region As Region)

Parameter

region
Region

Region, dessen Schnittmenge mit dem aktuellen Bereich gebildet werden soll.

Beispiele

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgse, was ein Parameter des Paint Ereignishandlers ist. Der Code führt die folgenden Aktionen aus:

  • Erstellt ein Rechteck mit der oberen linken Ecke (0, 0).

  • Erstellt eine Region, legt sie auf das Rechteck fest, und legt den Beschneidungsbereich auf diese Region fest.

  • Erstellt ein zweites Rechteck mit der linken oberen Ecke (100, 100).

  • Erstellt eine Region, legt sie auf das zweite Rechteck fest, und legt den Beschneidungsbereich mithilfe des Kombinationsmodus Replaceauf die Schnittmenge dieser Region und den aktuellen Abschneidebereich (das erste Rechteck) fest.

  • Füllt ein großes Rechteck, das beide vorherigen Regionen enthält, mit einem durchfarbigen blauen Pinsel.

  • Setzt den Abschneidebereich auf unendlich zurück.

  • Zeichnet Rechtecke um die beiden Beschneidungsbereiche. Es verwendet einen schwarzen Stift für den ersten Clippingbereich und einen roten Stift für den zweiten Clippingbereich.

Das Ergebnis ist, dass nur die Schnittmenge der beiden Regionen mit Blau gefüllt ist.

public:
   void IntersectClipRegion( PaintEventArgs^ e )
   {
      // Set clipping region.
      Rectangle clipRect = Rectangle(0,0,200,200);
      System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( clipRect );
      e->Graphics->SetClip( clipRegion, CombineMode::Replace );

      // Update clipping region to intersection of
      // existing region with specified rectangle.
      Rectangle intersectRect = Rectangle(100,100,200,200);
      System::Drawing::Region^ intersectRegion = gcnew System::Drawing::Region( intersectRect );
      e->Graphics->IntersectClip( intersectRegion );

      // Fill rectangle to demonstrate effective clipping region.
      e->Graphics->FillRectangle( gcnew SolidBrush( Color::Blue ), 0, 0, 500, 500 );

      // Reset clipping region to infinite.
      e->Graphics->ResetClip();

      // Draw clipRect and intersectRect to screen.
      e->Graphics->DrawRectangle( gcnew Pen( Color::Black ), clipRect );
      e->Graphics->DrawRectangle( gcnew Pen( Color::Red ), intersectRect );
   }
private void IntersectClipRegion(PaintEventArgs e)
{

    // Set clipping region.
    Rectangle clipRect = new Rectangle(0, 0, 200, 200);
    Region clipRegion = new Region(clipRect);
    e.Graphics.SetClip(clipRegion, CombineMode.Replace);

    // Update clipping region to intersection of

    // existing region with specified rectangle.
    Rectangle intersectRect = new Rectangle(100, 100, 200, 200);
    Region intersectRegion = new Region(intersectRect);
    e.Graphics.IntersectClip(intersectRegion);

    // Fill rectangle to demonstrate effective clipping region.
    e.Graphics.FillRectangle(new SolidBrush(Color.Blue), 0, 0, 500, 500);

    // Reset clipping region to infinite.
    e.Graphics.ResetClip();

    // Draw clipRect and intersectRect to screen.
    e.Graphics.DrawRectangle(new Pen(Color.Black), clipRect);
    e.Graphics.DrawRectangle(new Pen(Color.Red), intersectRect);
}
Private Sub IntersectClipRegion(ByVal e As PaintEventArgs)

    ' Set clipping region.
    Dim clipRect As New Rectangle(0, 0, 200, 200)
    Dim clipRegion As New [Region](clipRect)
    e.Graphics.SetClip(clipRegion, CombineMode.Replace)

    ' Update clipping region to intersection of

    ' existing region with specified rectangle.
    Dim intersectRect As New Rectangle(100, 100, 200, 200)
    Dim intersectRegion As New [Region](intersectRect)
    e.Graphics.IntersectClip(intersectRegion)

    ' Fill rectangle to demonstrate effective clipping region.
    e.Graphics.FillRectangle(New SolidBrush(Color.Blue), 0, 0, _
    500, 500)

    ' Reset clipping region to infinite.
    e.Graphics.ResetClip()

    ' Draw clipRect and intersectRect to screen.
    e.Graphics.DrawRectangle(New Pen(Color.Black), clipRect)
    e.Graphics.DrawRectangle(New Pen(Color.Red), intersectRect)
End Sub

Hinweise

Diese Methode weist der Clip Eigenschaft dieses Graphics Bereichs zu, der durch den Schnittpunkt des aktuellen Clipbereichs und der durch den region Parameter angegebenen Region dargestellt wird.

Gilt für: