Bagikan melalui


Graphics.IntersectClip Metode

Definisi

Memperbarui wilayah klip Graphics ini ke persimpangan wilayah klip saat ini dan struktur Rectangle yang ditentukan.

Overload

IntersectClip(Rectangle)

Memperbarui wilayah klip Graphics ini ke persimpangan wilayah klip saat ini dan struktur Rectangle yang ditentukan.

IntersectClip(RectangleF)

Memperbarui wilayah klip Graphics ini ke persimpangan wilayah klip saat ini dan struktur RectangleF yang ditentukan.

IntersectClip(Region)

Memperbarui wilayah klip Graphics ini ke persimpangan wilayah klip saat ini dan Regionyang ditentukan .

IntersectClip(Rectangle)

Sumber:
Graphics.cs
Sumber:
Graphics.cs

Memperbarui wilayah klip Graphics ini ke persimpangan wilayah klip saat ini dan struktur Rectangle yang ditentukan.

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 untuk berpotongan dengan wilayah klip saat ini.

Contoh

Contoh kode berikut dirancang untuk digunakan dengan Windows Forms, dan memerlukan PaintEventArgse, yang merupakan parameter penanganan aktivitas Paint. Kode melakukan tindakan berikut:

  • Membuat persegi panjang dengan sudut kiri atas pada (0, 0) dan mengatur wilayah kliping ke persegi ini.

  • Membuat persegi panjang kedua dengan sudut kiri atas pada (100, 100) dan mengatur wilayah kliping ke persimpangan persegi panjang ini dan wilayah kliping saat ini (persegi panjang pertama).

  • Mengisi persegi panjang besar yang mencakup kedua persegi panjang sebelumnya dengan kuas biru solid.

  • Mereset wilayah kliping ke tak terbatas.

  • Menggambar persegi panjang di sekitar dua wilayah kliping. Ini menggunakan pena hitam untuk kliping persegi panjang pertama dan pena merah untuk wilayah kliping kedua.

Hasilnya adalah bahwa hanya persimpangan dua persegi panjang yang diisi dengan biru.

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

Keterangan

Metode ini menetapkan ke properti Clip ini Graphics area yang diwakili oleh persimpangan wilayah klip saat ini dan persegi panjang yang ditentukan oleh parameter rect.

Berlaku untuk

IntersectClip(RectangleF)

Sumber:
Graphics.cs
Sumber:
Graphics.cs

Memperbarui wilayah klip Graphics ini ke persimpangan wilayah klip saat ini dan struktur RectangleF yang ditentukan.

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 untuk berpotongan dengan wilayah klip saat ini.

Contoh

Contoh kode berikut dirancang untuk digunakan dengan Windows Forms, dan memerlukan PaintEventArgse, yang merupakan parameter penanganan aktivitas Paint. Kode melakukan tindakan berikut:

  • Membuat persegi panjang dengan sudut kiri atas pada (0, 0) dan mengatur wilayah kliping ke persegi ini.

  • Membuat persegi panjang kedua dengan sudut kiri atas pada (100, 100) dan mengatur wilayah kliping ke persimpangan persegi panjang ini dan wilayah kliping saat ini (persegi panjang pertama).

  • Mengisi persegi panjang besar yang mencakup kedua persegi panjang sebelumnya dengan kuas biru solid.

  • Mereset wilayah kliping ke tak terbatas.

  • Menggambar persegi panjang di sekitar dua wilayah kliping. Ini menggunakan pena hitam untuk kliping persegi panjang pertama dan pena merah untuk wilayah kliping kedua.

Hasilnya adalah bahwa hanya persimpangan dua persegi panjang yang diisi dengan biru.

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

Keterangan

Metode ini menetapkan ke properti Clip ini Graphics area yang diwakili oleh persimpangan wilayah klip saat ini dan persegi panjang yang ditentukan oleh parameter rect.

Berlaku untuk

IntersectClip(Region)

Sumber:
Graphics.cs
Sumber:
Graphics.cs

Memperbarui wilayah klip Graphics ini ke persimpangan wilayah klip saat ini dan Regionyang ditentukan .

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 untuk bersinggungan dengan wilayah saat ini.

Contoh

Contoh kode berikut dirancang untuk digunakan dengan Windows Forms, dan memerlukan PaintEventArgse, yang merupakan parameter penanganan aktivitas Paint. Kode melakukan tindakan berikut:

  • Membuat persegi panjang dengan sudut kiri atas pada (0, 0).

  • Membuat wilayah dan mengaturnya ke persegi panjang, dan mengatur wilayah kliping ke wilayah ini.

  • Membuat persegi panjang kedua dengan sudut kiri atas pada (100, 100).

  • Membuat wilayah dan mengaturnya ke persegi panjang kedua, dan mengatur wilayah kliping ke persimpangan wilayah ini dan wilayah kliping saat ini (persegi panjang pertama) menggunakan mode gabungan Replace.

  • Mengisi persegi panjang besar yang mencakup kedua wilayah sebelumnya dengan kuas biru solid.

  • Mereset wilayah kliping ke tak terbatas.

  • Menggambar persegi panjang di sekitar dua wilayah kliping. Ini menggunakan pena hitam untuk wilayah kliping pertama dan pena merah untuk wilayah kliping kedua.

Hasilnya adalah bahwa hanya persimpangan kedua wilayah yang diisi dengan biru.

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

Keterangan

Metode ini menetapkan ke properti Clip ini Graphics area yang diwakili oleh persimpangan wilayah klip saat ini dan wilayah yang ditentukan oleh parameter region.

Berlaku untuk