Bagikan melalui


Graphics.IntersectClip Metode

Definisi

Updates wilayah klip ini Graphics ke persimpangan wilayah klip saat ini dan struktur yang ditentukanRectangle.

Overload

IntersectClip(Rectangle)

Updates wilayah klip ini Graphics ke persimpangan wilayah klip saat ini dan struktur yang ditentukanRectangle.

IntersectClip(RectangleF)

Updates wilayah klip ini Graphics ke persimpangan wilayah klip saat ini dan struktur yang ditentukanRectangleF.

IntersectClip(Region)

Updates wilayah klip ini Graphics ke persimpangan wilayah klip saat ini dan yang ditentukan Region.

IntersectClip(Rectangle)

Sumber:
Graphics.cs
Sumber:
Graphics.cs
Sumber:
Graphics.cs

Updates wilayah klip ini Graphics ke persimpangan wilayah klip saat ini dan struktur yang ditentukanRectangle.

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

Contoh

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

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

  • Membuat persegi panjang kedua dengan sudut kiri atas di (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.

  • Mengatur ulang 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 Clip properti dari area yang Graphics diwakili oleh persimpangan wilayah klip saat ini dan persegi panjang yang ditentukan oleh rect parameter .

Berlaku untuk

IntersectClip(RectangleF)

Sumber:
Graphics.cs
Sumber:
Graphics.cs
Sumber:
Graphics.cs

Updates wilayah klip ini Graphics ke persimpangan wilayah klip saat ini dan struktur yang ditentukanRectangleF.

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

Contoh

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

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

  • Membuat persegi panjang kedua dengan sudut kiri atas di (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.

  • Mengatur ulang 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 Clip properti dari area yang Graphics diwakili oleh persimpangan wilayah klip saat ini dan persegi panjang yang ditentukan oleh rect parameter .

Berlaku untuk

IntersectClip(Region)

Sumber:
Graphics.cs
Sumber:
Graphics.cs
Sumber:
Graphics.cs

Updates wilayah klip ini Graphics ke persimpangan wilayah klip saat ini dan yang ditentukan 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 untuk bersinggungan dengan wilayah saat ini.

Contoh

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

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

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

  • Membuat persegi panjang kedua dengan sudut kiri atas di (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 Replacegabungan .

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

  • Mengatur ulang 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 hanya persimpangan kedua wilayah yang diisi dengan warna 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 Clip properti dari area yang Graphics diwakili oleh persimpangan wilayah klip saat ini dan wilayah yang ditentukan oleh region parameter .

Berlaku untuk