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 Forms и требует PaintEventArgs e, что Paint является параметром обработчика событий.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) и задает в качестве вырезанной области пересечение этого прямоугольника и текущей области отсечения (первый прямоугольник).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.

  • Рисование прямоугольников вокруг двух областей отсечения.Draws rectangles around the two clipping regions. Он использует черное перо для первого прямоугольника обрезки и красное перо для второй области обрезки.It uses a black pen for the first clipping rectangle and a red pen for the second clipping region.

В результате только пересечение двух прямоугольников заполняется синим.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 Forms и требует PaintEventArgs e, что Paint является параметром обработчика событий.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) и задает в качестве вырезанной области пересечение этого прямоугольника и текущей области отсечения (первый прямоугольник).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.

  • Рисование прямоугольников вокруг двух областей отсечения.Draws rectangles around the two clipping regions. Он использует черное перо для первого прямоугольника обрезки и красное перо для второй области обрезки.It uses a black pen for the first clipping rectangle and a red pen for the second clipping region.

В результате только пересечение двух прямоугольников заполняется синим.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

Объект Region, пересекающийся с текущей областью.Region to intersect with the current region.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgs e, что Paint является параметром обработчика событий.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).Creates a second rectangle with upper-left corner at (100, 100).

  • Создает регион и задает его для второго прямоугольника и задает для вырезанной области пересечение этой области и текущей области отсечения (первый прямоугольник), используя режим 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.

  • Рисование прямоугольников вокруг двух областей отсечения.Draws rectangles around the two clipping regions. Он использует черное перо для первой вырезанной области и красное перо для второй области обрезки.It uses a black pen for the first clipping region and a red pen for the second clipping region.

В результате пересечение двух регионов заполняется синим.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.

Применяется к