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 wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgs eeinen Parameter des Paint Ereignishandlers. Der Code führt die folgenden Aktionen aus:

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

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

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

  • Setzt den Clippingbereich auf unendlich zurück.

  • Zeichnet Rechtecke um die beiden Clippingbereiche. Es verwendet einen schwarzen Stift für das erste Clippingrechteck 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 das durch den rect Parameter angegebene Rechteck 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 wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgs eeinen Parameter des Paint Ereignishandlers. Der Code führt die folgenden Aktionen aus:

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

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

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

  • Setzt den Clippingbereich auf unendlich zurück.

  • Zeichnet Rechtecke um die beiden Clippingbereiche. Es verwendet einen schwarzen Stift für das erste Clippingrechteck 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 das durch den rect Parameter angegebene Rechteck 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 wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgs eeinen Parameter des Paint Ereignishandlers. Der Code führt die folgenden Aktionen aus:

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

  • Erstellt einen Bereich und legt ihn auf das Rechteck fest und legt den Clippingbereich auf diesen Bereich fest.

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

  • Erstellt einen Bereich und legt ihn auf das zweite Rechteck fest und legt den Clippingbereich auf den Schnittpunkt dieses Bereichs und den aktuellen Clippingbereich (das erste Rechteck) mithilfe eines Kombinationsmodus von Replace.

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

  • Setzt den Clippingbereich auf unendlich zurück.

  • Zeichnet Rechtecke um die beiden Clippingbereiche. 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 die Schnittmenge des aktuellen Clipbereichs und den durch den region Parameter angegebenen Bereich dargestellt wird.

Gilt für: