Teilen über


Graphics.IntersectClip Methode

Definition

Aktualisiert den Clipbereich dieser Graphics auf die Schnittmenge des aktuellen Clipbereichs und die angegebene Rectangle Struktur.

Überlädt

IntersectClip(Rectangle)

Aktualisiert den Clipbereich dieser Graphics auf die Schnittmenge des aktuellen Clipbereichs und die angegebene Rectangle Struktur.

IntersectClip(RectangleF)

Aktualisiert den Clipbereich dieser Graphics auf die Schnittmenge des aktuellen Clipbereichs und die angegebene RectangleF Struktur.

IntersectClip(Region)

Aktualisiert den Clipbereich dieser Graphics auf die Schnittmenge des aktuellen Clipbereichs und die angegebene Region.

IntersectClip(Rectangle)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Aktualisiert den Clipbereich dieser Graphics auf die Schnittmenge des aktuellen Clipbereichs und die angegebene 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, um sich mit dem aktuellen Clipbereich zu schneiden.

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. Der Code führt die folgenden Aktionen aus:

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

  • Erstellt ein zweites Rechteck mit der oberen linken Ecke (100, 100) und legt den Beschneidungsbereich 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 Beschneidungsbereich auf unendlich zurück.

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

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 den Bereich zu, der durch die Schnittmenge des aktuellen Clipbereichs und das durch den parameter rect angegebene Rechteck dargestellt wird.

Gilt für:

IntersectClip(RectangleF)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Aktualisiert den Clipbereich dieser Graphics auf die Schnittmenge des aktuellen Clipbereichs und die angegebene 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, um sich mit dem aktuellen Clipbereich zu schneiden.

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. Der Code führt die folgenden Aktionen aus:

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

  • Erstellt ein zweites Rechteck mit der oberen linken Ecke (100, 100) und legt den Beschneidungsbereich 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 Beschneidungsbereich auf unendlich zurück.

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

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 den Bereich zu, der durch die Schnittmenge des aktuellen Clipbereichs und das durch den parameter rect angegebene Rechteck dargestellt wird.

Gilt für:

IntersectClip(Region)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Aktualisiert den Clipbereich dieser Graphics auf die Schnittmenge des aktuellen Clipbereichs und die angegebene 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, um sich mit dem aktuellen Bereich zu schneiden.

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. 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 (100, 100).

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

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

  • Setzt den Beschneidungsbereich auf unendlich zurück.

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

Das Ergebnis ist, dass nur die Schnittmenge der beiden Regionen 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 den Bereich zu, der durch die Schnittmenge des aktuellen Clipbereichs und den durch den parameter region angegebenen Bereich dargestellt wird.

Gilt für: