Condividi tramite


Graphics.IntersectClip Metodo

Definizione

Aggiorna l'area di ritaglio di questo Graphics all'intersezione dell'area di ritaglio corrente e alla struttura di Rectangle specificata.

Overload

IntersectClip(Rectangle)

Aggiorna l'area di ritaglio di questo Graphics all'intersezione dell'area di ritaglio corrente e alla struttura di Rectangle specificata.

IntersectClip(RectangleF)

Aggiorna l'area di ritaglio di questo Graphics all'intersezione dell'area di ritaglio corrente e alla struttura di RectangleF specificata.

IntersectClip(Region)

Aggiorna l'area di ritaglio di questo Graphics all'intersezione dell'area di ritaglio corrente e alla Regionspecificata.

IntersectClip(Rectangle)

Origine:
Graphics.cs
Origine:
Graphics.cs
Origine:
Graphics.cs
Origine:
Graphics.cs
Origine:
Graphics.cs

Aggiorna l'area di ritaglio di questo Graphics all'intersezione dell'area di ritaglio corrente e alla struttura di 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

Rectangle struttura da intersecare con l'area di ritaglio corrente.

Esempio

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

  • Crea un rettangolo con angolo superiore sinistro in corrispondenza di (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 (il primo rettangolo).

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

  • Reimposta l'area di ritaglio su infinita.

  • 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 di 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 viene assegnato alla proprietà Clip di questo Graphics'area rappresentata dall'intersezione dell'area di ritaglio corrente e dal rettangolo specificato dal parametro rect.

Si applica a

IntersectClip(RectangleF)

Origine:
Graphics.cs
Origine:
Graphics.cs
Origine:
Graphics.cs
Origine:
Graphics.cs
Origine:
Graphics.cs

Aggiorna l'area di ritaglio di questo Graphics all'intersezione dell'area di ritaglio corrente e alla struttura di 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

RectangleF struttura da intersecare con l'area di ritaglio corrente.

Esempio

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

  • Crea un rettangolo con angolo superiore sinistro in corrispondenza di (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 (il primo rettangolo).

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

  • Reimposta l'area di ritaglio su infinita.

  • 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 di 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 viene assegnato alla proprietà Clip di questo Graphics'area rappresentata dall'intersezione dell'area di ritaglio corrente e dal rettangolo specificato dal parametro rect.

Si applica a

IntersectClip(Region)

Origine:
Graphics.cs
Origine:
Graphics.cs
Origine:
Graphics.cs
Origine:
Graphics.cs
Origine:
Graphics.cs

Aggiorna l'area di ritaglio di questo Graphics all'intersezione dell'area di ritaglio corrente e alla Regionspecificata.

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

Region intersecare con l'area corrente.

Esempio

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

  • Crea un rettangolo con angolo superiore sinistro in corrispondenza di (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 di (100, 100).

  • Crea un'area e la 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à combinata di Replace.

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

  • Reimposta l'area di ritaglio su infinita.

  • 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 di 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 viene assegnato alla proprietà Clip di questo Graphics'area rappresentata dall'intersezione dell'area di ritaglio corrente e dall'area specificata dal parametro region.

Si applica a