Graphics.IntersectClip Graphics.IntersectClip Graphics.IntersectClip Graphics.IntersectClip Method

定義

この Graphics のクリップ領域を現在のクリップ領域と指定した Rectangle 構造体との交差部分に更新します。Updates the clip region of this Graphics to the intersection of the current clip region and the specified Rectangle structure.

オーバーロード

IntersectClip(Rectangle) IntersectClip(Rectangle) IntersectClip(Rectangle) IntersectClip(Rectangle)

この Graphics のクリップ領域を現在のクリップ領域と指定した Rectangle 構造体との交差部分に更新します。Updates the clip region of this Graphics to the intersection of the current clip region and the specified Rectangle structure.

IntersectClip(RectangleF) IntersectClip(RectangleF) IntersectClip(RectangleF) IntersectClip(RectangleF)

この Graphics のクリップ領域を現在のクリップ領域と指定した RectangleF 構造体との交差部分に更新します。Updates the clip region of this Graphics to the intersection of the current clip region and the specified RectangleF structure.

IntersectClip(Region) IntersectClip(Region) IntersectClip(Region)

この Graphics のクリップ領域を現在のクリップ領域と指定した Region との交差部分に更新します。Updates the clip region of this Graphics to the intersection of the current clip region and the specified Region.

IntersectClip(Rectangle) IntersectClip(Rectangle) IntersectClip(Rectangle) IntersectClip(Rectangle)

この Graphics のクリップ領域を現在のクリップ領域と指定した Rectangle 構造体との交差部分に更新します。Updates the clip region of this Graphics to the intersection of the current clip region and the specified Rectangle structure.

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)

パラメーター

rect
Rectangle Rectangle Rectangle Rectangle

現在のクリップ領域と交差する Rectangle 構造体。Rectangle structure to intersect with the current clip region.

次のコード例は、Windows フォームで使用するように設計さPaintEventArgsれています。これはPaint 、イベントハンドラーのパラメーターであるを必要eとします。The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. コードは、次のアクションを実行します。The code performs the following actions:

  • 左上隅が (0, 0) の四角形を作成し、クリッピング領域をこの四角形に設定します。Creates a rectangle with upper-left corner at (0, 0) and sets the clipping region to this rectangle.

  • 左上隅が (100, 100) の2番目の四角形を作成し、この四角形と現在のクリッピング領域 (最初の四角形) の交差部分にクリッピング領域を設定します。Creates a second rectangle with upper-left corner at (100, 100) and sets the clipping region to the intersection of this rectangle and the current clipping region (the first rectangle).

  • 前の四角形と単色の青のブラシの両方を含む大きな四角形を塗りつぶします。Fills a large rectangle that includes both previous rectangles with a solid blue brush.

  • クリッピング領域を無限にリセットします。Resets the clipping region to infinite.

  • 2つのクリッピング領域の周囲に四角形を描画します。Draws rectangles around the two clipping regions. 最初のクリッピング四角形には黒のペンを使用し、2番目のクリッピング領域には赤いペンを使用します。It uses a black pen for the first clipping rectangle and a red pen for the second clipping region.

結果として、2つの四角形の交差部分のみが青で塗りつぶされます。The result is that only the intersection of the two rectangles is filled with blue.

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

注釈

このメソッドは、現在Clip Graphicsのクリップ領域とrectパラメーターで指定された四角形の交差部分によって表される領域のプロパティにを割り当てます。This method assigns to the Clip property of this Graphics the area represented by the intersection of the current clip region and the rectangle specified by the rect parameter.

IntersectClip(RectangleF) IntersectClip(RectangleF) IntersectClip(RectangleF) IntersectClip(RectangleF)

この Graphics のクリップ領域を現在のクリップ領域と指定した RectangleF 構造体との交差部分に更新します。Updates the clip region of this Graphics to the intersection of the current clip region and the specified RectangleF structure.

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)

パラメーター

rect
RectangleF RectangleF RectangleF RectangleF

現在のクリップ領域と交差する RectangleF 構造体。RectangleF structure to intersect with the current clip region.

次のコード例は、Windows フォームで使用するように設計さPaintEventArgsれています。これはPaint 、イベントハンドラーのパラメーターであるを必要eとします。The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. コードは、次のアクションを実行します。The code performs the following actions:

  • 左上隅が (0, 0) の四角形を作成し、クリッピング領域をこの四角形に設定します。Creates a rectangle with upper-left corner at (0, 0) and sets the clipping region to this rectangle.

  • 左上隅が (100, 100) の2番目の四角形を作成し、この四角形と現在のクリッピング領域 (最初の四角形) の交差部分にクリッピング領域を設定します。Creates a second rectangle with upper-left corner at (100, 100) and sets the clipping region to the intersection of this rectangle and the current clipping region (the first rectangle).

  • 前の四角形と単色の青のブラシの両方を含む大きな四角形を塗りつぶします。Fills a large rectangle that includes both previous rectangles with a solid blue brush.

  • クリッピング領域を無限にリセットします。Resets the clipping region to infinite.

  • 2つのクリッピング領域の周囲に四角形を描画します。Draws rectangles around the two clipping regions. 最初のクリッピング四角形には黒のペンを使用し、2番目のクリッピング領域には赤いペンを使用します。It uses a black pen for the first clipping rectangle and a red pen for the second clipping region.

結果として、2つの四角形の交差部分のみが青で塗りつぶされます。The result is that only the intersection of the two rectangles is filled with blue.

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

注釈

このメソッドは、現在Clip Graphicsのクリップ領域とrectパラメーターで指定された四角形の交差部分によって表される領域のプロパティにを割り当てます。This method assigns to the Clip property of this Graphics the area represented by the intersection of the current clip region and the rectangle specified by the rect parameter.

IntersectClip(Region) IntersectClip(Region) IntersectClip(Region)

この Graphics のクリップ領域を現在のクリップ領域と指定した Region との交差部分に更新します。Updates the clip region of this Graphics to the intersection of the current clip region and the specified Region.

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

パラメーター

region
Region Region Region Region

現在の領域と交差する RegionRegion to intersect with the current region.

次のコード例は、Windows フォームで使用するように設計さPaintEventArgsれています。これはPaint 、イベントハンドラーのパラメーターであるを必要eとします。The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. コードは、次のアクションを実行します。The code performs the following actions:

  • 左上隅が (0, 0) の四角形を作成します。Creates a rectangle with upper-left corner at (0, 0).

  • 領域を作成し、その領域を四角形に設定し、クリッピング領域をこの領域に設定します。Creates a region and sets it to the rectangle, and sets the clipping region to this region.

  • 左上隅が (100, 100) の2番目の四角形を作成します。Creates a second rectangle with upper-left corner at (100, 100).

  • 領域を作成し、2番目の四角形に設定し、のReplace結合モードを使用して、この領域と現在のクリッピング領域 (最初の四角形) の交差部分にクリッピング領域を設定します。Creates a region and sets it to the second rectangle, and sets the clipping region to the intersection of this region and the current clipping region (the first rectangle) using a combine mode of Replace.

  • 前の領域と単色の青のブラシを含む大きな四角形を塗りつぶします。Fills a large rectangle that includes both previous regions with a solid blue brush.

  • クリッピング領域を無限にリセットします。Resets the clipping region to infinite.

  • 2つのクリッピング領域の周囲に四角形を描画します。Draws rectangles around the two clipping regions. 最初のクリッピング領域には黒のペンを使用し、2番目のクリッピング領域には赤いペンを使用します。It uses a black pen for the first clipping region and a red pen for the second clipping region.

結果として、2つの地域の交差部分のみが青で塗りつぶされます。The result is that only the intersection of the two regions is filled with blue.

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

注釈

このメソッドは、現在Clip Graphicsのクリップ領域とregionパラメーターで指定された領域の交差部分によって表される領域のプロパティにを割り当てます。This method assigns to the Clip property of this Graphics the area represented by the intersection of the current clip region and the region specified by the region parameter.

適用対象