Graphics.IntersectClip Metodo

Definizione

Aggiorna l'area di ritaglio di questo oggetto Graphics all'intersezione tra l'area di ritaglio corrente e la struttura Rectangle specificata.

Overload

IntersectClip(Rectangle)

Aggiorna l'area di ritaglio di questo oggetto Graphics all'intersezione tra l'area di ritaglio corrente e la struttura Rectangle specificata.

IntersectClip(RectangleF)

Aggiorna l'area di ritaglio di questo oggetto Graphics all'intersezione tra l'area di ritaglio corrente e la struttura RectangleF specificata.

IntersectClip(Region)

Aggiorna l'area di ritaglio di questo oggetto Graphics all'intersezione tra l'area di ritaglio corrente e l'oggetto Region specificato.

IntersectClip(Rectangle)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs

Aggiorna l'area di ritaglio di questo oggetto Graphics all'intersezione tra l'area di ritaglio corrente e la struttura Rectangle specificata.

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)

Parametri

rect
Rectangle

Struttura Rectangle da intersecare con l'area di visualizzazione corrente.

Esempio

L'esempio di codice seguente è progettato per l'uso con Windows Forms e richiede PaintEventArgse, che è un parametro del Paint gestore eventi. Il codice esegue le azioni seguenti:

  • Crea un rettangolo con angolo superiore sinistro in corrispondenza (0, 0) e imposta l'area di ritaglio su questo rettangolo.

  • Crea un secondo rettangolo con angolo superiore sinistro in corrispondenza (100, 100) e imposta l'area di ritaglio sull'intersezione di questo rettangolo e sull'area di ritaglio corrente (primo rettangolo).

  • Riempie un rettangolo di grandi dimensioni che include entrambi i rettangoli precedenti con un pennello blu solido.

  • Reimposta l'area di ritaglio in infinito.

  • Disegna rettangoli intorno alle due aree di ritaglio. Usa una penna nera per il primo rettangolo di ritaglio e una penna rossa per la seconda area di ritaglio.

Il risultato è che solo l'intersezione dei due rettangoli è riempita con blu.

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

Commenti

Questo metodo assegna alla Clip proprietà di questa Graphics area rappresentata dall'intersezione dell'area di clip corrente e dal rect rettangolo specificato dal parametro.

Si applica a

IntersectClip(RectangleF)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs

Aggiorna l'area di ritaglio di questo oggetto Graphics all'intersezione tra l'area di ritaglio corrente e la struttura RectangleF specificata.

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)

Parametri

rect
RectangleF

Struttura RectangleF da intersecare con l'area di visualizzazione corrente.

Esempio

L'esempio di codice seguente è progettato per l'uso con Windows Forms e richiede PaintEventArgse, che è un parametro del Paint gestore eventi. Il codice esegue le azioni seguenti:

  • Crea un rettangolo con angolo superiore sinistro in corrispondenza (0, 0) e imposta l'area di ritaglio su questo rettangolo.

  • Crea un secondo rettangolo con angolo superiore sinistro in corrispondenza (100, 100) e imposta l'area di ritaglio sull'intersezione di questo rettangolo e sull'area di ritaglio corrente (primo rettangolo).

  • Riempie un rettangolo di grandi dimensioni che include entrambi i rettangoli precedenti con un pennello blu solido.

  • Reimposta l'area di ritaglio in infinito.

  • Disegna rettangoli intorno alle due aree di ritaglio. Usa una penna nera per il primo rettangolo di ritaglio e una penna rossa per la seconda area di ritaglio.

Il risultato è che solo l'intersezione dei due rettangoli è riempita con blu.

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

Commenti

Questo metodo assegna alla Clip proprietà di questa Graphics area rappresentata dall'intersezione dell'area di clip corrente e dal rect rettangolo specificato dal parametro.

Si applica a

IntersectClip(Region)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs

Aggiorna l'area di ritaglio di questo oggetto Graphics all'intersezione tra l'area di ritaglio corrente e l'oggetto Region specificato.

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)

Parametri

region
Region

Oggetto Region da intersecare con l'area corrente.

Esempio

L'esempio di codice seguente è progettato per l'uso con Windows Forms e richiede PaintEventArgse, che è un parametro del Paint gestore eventi. Il codice esegue le azioni seguenti:

  • Crea un rettangolo con angolo superiore sinistro in corrispondenza (0, 0).

  • Crea un'area e la imposta sul rettangolo e imposta l'area di ritaglio su questa area.

  • Crea un secondo rettangolo con angolo superiore sinistro in corrispondenza (100, 100).

  • Crea un'area e lo imposta sul secondo rettangolo e imposta l'area di ritaglio sull'intersezione di questa area e sull'area di ritaglio corrente (il primo rettangolo) usando una modalità di combinazione di Replace.

  • Riempie un rettangolo di grandi dimensioni che include entrambe le aree precedenti con un pennello blu solido.

  • Reimposta l'area di ritaglio in infinito.

  • Disegna rettangoli intorno alle due aree di ritaglio. Usa una penna nera per la prima area di ritaglio e una penna rossa per la seconda area di ritaglio.

Il risultato è che solo l'intersezione delle due aree è riempita con blu.

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

Commenti

Questo metodo assegna alla Clip proprietà di questa Graphics area rappresentata dall'intersezione dell'area di clip corrente e dall'area specificata dal region parametro.

Si applica a