Graphics.IntersectClip Metoda

Definicja

Aktualizacje regionu klipu Graphics do przecięcia bieżącego regionu klipu i określonej Rectangle struktury.

Przeciążenia

IntersectClip(Rectangle)

Aktualizacje regionu klipu Graphics do przecięcia bieżącego regionu klipu i określonej Rectangle struktury.

IntersectClip(RectangleF)

Aktualizacje regionu klipu Graphics do przecięcia bieżącego regionu klipu i określonej RectangleF struktury.

IntersectClip(Region)

Aktualizacje region klipu Graphics do przecięcia bieżącego regionu klipu i określonego Regionelementu .

IntersectClip(Rectangle)

Aktualizacje regionu klipu Graphics do przecięcia bieżącego regionu klipu i określonej Rectangle struktury.

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)

Parametry

rect
Rectangle

Rectangle struktura, która ma być przecinana z bieżącym regionem wycinków.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgseparametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:

  • Tworzy prostokąt z lewym górnym róg (0, 0) i ustawia obszar przycinania na ten prostokąt.

  • Tworzy drugi prostokąt z lewym górnym róg (100, 100) i ustawia obszar przycinania na przecięcie tego prostokąta i bieżącego regionu przycinania (pierwszy prostokąt).

  • Wypełnia duży prostokąt, który zawiera oba poprzednie prostokąty za pomocą niebieskiego pędzla.

  • Resetuje obszar przycinania do nieskończonego.

  • Rysuje prostokąty wokół dwóch regionów przycinania. Używa czarnego pióra do pierwszego przycinania prostokąta i czerwonego pióra dla drugiego regionu przycinania.

Wynikiem jest to, że tylko przecięcie dwóch prostokątów jest wypełnione niebieskim.

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

Uwagi

Ta metoda przypisuje do Clip właściwości tego Graphics obszaru reprezentowanego przez przecięcie bieżącego regionu klipu i prostokąt określony przez rect parametr .

Dotyczy

IntersectClip(RectangleF)

Aktualizacje regionu klipu Graphics do przecięcia bieżącego regionu klipu i określonej RectangleF struktury.

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)

Parametry

rect
RectangleF

RectangleF struktura, która ma być przecinana z bieżącym regionem wycinków.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgseparametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:

  • Tworzy prostokąt z lewym górnym róg (0, 0) i ustawia obszar przycinania na ten prostokąt.

  • Tworzy drugi prostokąt z lewym górnym róg (100, 100) i ustawia obszar przycinania na przecięcie tego prostokąta i bieżącego regionu przycinania (pierwszy prostokąt).

  • Wypełnia duży prostokąt, który zawiera oba poprzednie prostokąty za pomocą niebieskiego pędzla.

  • Resetuje obszar przycinania do nieskończonego.

  • Rysuje prostokąty wokół dwóch regionów przycinania. Używa czarnego pióra do pierwszego przycinania prostokąta i czerwonego pióra dla drugiego regionu przycinania.

Wynikiem jest to, że tylko przecięcie dwóch prostokątów jest wypełnione niebieskim.

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

Uwagi

Ta metoda przypisuje do Clip właściwości tego Graphics obszaru reprezentowanego przez przecięcie bieżącego regionu klipu i prostokąt określony przez rect parametr .

Dotyczy

IntersectClip(Region)

Aktualizacje region klipu Graphics do przecięcia bieżącego regionu klipu i określonego Regionelementu .

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)

Parametry

region
Region

Region , aby przeciąć się z bieżącym regionem.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgseparametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:

  • Tworzy prostokąt z lewym górnym róg (0, 0).

  • Tworzy region i ustawia go na prostokąt, a następnie ustawia region przycinania na ten region.

  • Tworzy drugi prostokąt z lewym górnym róg (100, 100).

  • Tworzy region i ustawia go na drugi prostokąt, a następnie ustawia obszar przycinania na część wspólną tego regionu i bieżącego regionu przycinania (pierwszy prostokąt) przy użyciu trybu Replacełączenia .

  • Wypełnia duży prostokąt, który zawiera oba poprzednie regiony za pomocą niebieskiego pędzla.

  • Resetuje obszar przycinania do nieskończonego.

  • Rysuje prostokąty wokół dwóch regionów przycinania. Używa czarnego pióra dla pierwszego regionu przycinania i czerwonego pióra dla drugiego regionu przycinania.

Wynikiem jest to, że tylko część wspólna dwóch regionów jest wypełniona niebieskim.

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

Uwagi

Ta metoda przypisuje do Clip właściwości tego Graphics obszaru reprezentowanego przez część wspólną bieżącego regionu klipu i region określony przez region parametr .

Dotyczy