Graphics.BeginContainer Metodo

Definizione

Salva un contenitore grafico con lo stato corrente di questo oggetto Graphics e apre e usa un nuovo contenitore grafico.

Overload

BeginContainer()

Salva un contenitore grafico con lo stato corrente di questo oggetto Graphics e apre e usa un nuovo contenitore grafico.

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

Salva un contenitore grafico con lo stato corrente di questo oggetto Graphics e apre e usa un nuovo contenitore grafico con la trasformazione in scala specificata.

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

Salva un contenitore grafico con lo stato corrente di questo oggetto Graphics e apre e usa un nuovo contenitore grafico con la trasformazione in scala specificata.

BeginContainer()

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

Salva un contenitore grafico con lo stato corrente di questo oggetto Graphics e apre e usa un nuovo contenitore grafico.

public:
 System::Drawing::Drawing2D::GraphicsContainer ^ BeginContainer();
public System.Drawing.Drawing2D.GraphicsContainer BeginContainer ();
member this.BeginContainer : unit -> System.Drawing.Drawing2D.GraphicsContainer
Public Function BeginContainer () As GraphicsContainer

Restituisce

Questo metodo restituisce un oggetto GraphicsContainer che rappresenta lo stato di questo oggetto Graphics al momento della chiamata del metodo.

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:

  • Apre un nuovo contenitore grafico e salva il contenitore precedente.

  • Converte le coordinate mondiali nel contenitore.

  • Riempie un rettangolo rosso nelle coordinate tradotte del nuovo contenitore.

  • Chiude il nuovo contenitore e ripristina il contenitore salvato.

  • Riempie un rettangolo verde (alle coordinate non tradotte) del contenitore salvato.

Il risultato è un rettangolo verde che sovralizza un rettangolo rosso con le stesse dimensioni.

private:
   void BeginContainerVoid( PaintEventArgs^ e )
   {
      // Begin graphics container.
      GraphicsContainer^ containerState = e->Graphics->BeginContainer();

      // Translate world transformation.
      e->Graphics->TranslateTransform( 100.0F, 100.0F );

      // Fill translated rectangle in container with red.
      e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), 0, 0, 200, 200 );

      // End graphics container.
      e->Graphics->EndContainer( containerState );

      // Fill untransformed rectangle with green.
      e->Graphics->FillRectangle( gcnew SolidBrush( Color::Green ), 0, 0, 200, 200 );
   }
private void BeginContainerVoid(PaintEventArgs e)
{
    // Begin graphics container.
    GraphicsContainer containerState = e.Graphics.BeginContainer();
             
    // Translate world transformation.
    e.Graphics.TranslateTransform(100.0F, 100.0F);
             
    // Fill translated rectangle in container with red.
    e.Graphics.FillRectangle(new SolidBrush(Color.Red), 0, 0, 200, 200);
             
    // End graphics container.
    e.Graphics.EndContainer(containerState);
             
    // Fill untransformed rectangle with green.
    e.Graphics.FillRectangle(new SolidBrush(Color.Green), 0, 0, 200, 200);
}
Private Sub BeginContainerVoid(ByVal e As PaintEventArgs)

    ' Begin graphics container.
    Dim containerState As GraphicsContainer = _
    e.Graphics.BeginContainer()

    ' Translate world transformation.
    e.Graphics.TranslateTransform(100.0F, 100.0F)

    ' Fill translated rectangle in container with red.
    e.Graphics.FillRectangle(New SolidBrush(Color.Red), 0, 0, 200, 200)

    ' End graphics container.
    e.Graphics.EndContainer(containerState)

    ' Fill untransformed rectangle with green.
    e.Graphics.FillRectangle(New SolidBrush(Color.Green), 0, 0, _
    200, 200)
End Sub

Commenti

Usare questo metodo con il EndContainer metodo per creare contenitori grafici annidati. I contenitori grafici mantengono lo stato della grafica, ad esempio la trasformazione, l'area di ritaglio e le proprietà di rendering.

Quando si chiama il BeginContainer metodo di un Graphics, un blocco di informazioni che contiene lo stato di Graphics viene inserito in uno stack. Il BeginContainer metodo restituisce un GraphicsContainer oggetto che identifica il blocco di informazioni. Quando si passa l'oggetto di identificazione al EndContainer metodo , il blocco di informazioni viene rimosso dallo stack e viene usato per ripristinare lo Graphics stato in cui si trovava al momento della chiamata al BeginContainer metodo.

I contenitori possono essere annidati; ovvero, è possibile chiamare il BeginContainer metodo più volte prima di chiamare il EndContainer metodo . Ogni volta che si chiama il BeginContainer metodo , viene inserito un blocco di informazioni nello stack e si riceve un per GraphicsContainer il blocco di informazioni. Quando si passa uno di questi oggetti al EndContainer metodo , viene Graphics restituito allo stato in cui si trovava al momento della BeginContainer chiamata al metodo che ha restituito quel particolare GraphicsContaineroggetto . Il blocco di informazioni posizionato nello stack da tale BeginContainer chiamata al metodo viene rimosso dallo stack e anche tutti i blocchi di informazioni inseriti nello stack dopo la BeginContainer chiamata al metodo vengono rimossi.

Le chiamate al Save metodo inseriscono blocchi di informazioni sullo stesso stack delle chiamate al BeginContainer metodo . Proprio come una EndContainer chiamata al metodo viene associata a una BeginContainer chiamata al metodo, una Restore chiamata al metodo viene associata a una Save chiamata al metodo.

Quando si chiama il EndContainer metodo , tutti i blocchi di informazioni posizionati nello stack (dal Save metodo o dal BeginContainer metodo ) dopo la chiamata corrispondente al BeginContainer metodo vengono rimossi dallo stack. Analogamente, quando si chiama il Restore metodo , tutti i blocchi di informazioni inseriti nello stack (dal Save metodo o dal BeginContainer metodo ) dopo la chiamata corrispondente al Save metodo vengono rimossi dallo stack.

Lo stato grafico stabilito dal BeginContainer metodo include le qualità di rendering dello stato grafico predefinito. Qualsiasi stato di qualità del rendering cambia esistente quando viene chiamato il metodo viene reimpostato sui valori predefiniti.

Si applica a

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

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

Salva un contenitore grafico con lo stato corrente di questo oggetto Graphics e apre e usa un nuovo contenitore grafico con la trasformazione in scala specificata.

public:
 System::Drawing::Drawing2D::GraphicsContainer ^ BeginContainer(System::Drawing::Rectangle dstrect, System::Drawing::Rectangle srcrect, System::Drawing::GraphicsUnit unit);
public System.Drawing.Drawing2D.GraphicsContainer BeginContainer (System.Drawing.Rectangle dstrect, System.Drawing.Rectangle srcrect, System.Drawing.GraphicsUnit unit);
member this.BeginContainer : System.Drawing.Rectangle * System.Drawing.Rectangle * System.Drawing.GraphicsUnit -> System.Drawing.Drawing2D.GraphicsContainer
Public Function BeginContainer (dstrect As Rectangle, srcrect As Rectangle, unit As GraphicsUnit) As GraphicsContainer

Parametri

dstrect
Rectangle

Struttura Rectangle che, insieme al parametro srcrect, specifica una trasformazione in scala per il contenitore.

srcrect
Rectangle

Struttura Rectangle che, insieme al parametro dstrect, specifica una trasformazione in scala per il contenitore.

unit
GraphicsUnit

Membro dell'enumerazione GraphicsUnit che specifica l'unità di misura del contenitore.

Restituisce

Questo metodo restituisce un oggetto GraphicsContainer che rappresenta lo stato di questo oggetto Graphics al momento della chiamata del metodo.

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 due rettangoli per specificare una trasformazione di scalabilità per il nuovo contenitore.

  • Apre il nuovo contenitore grafico e salva il contenitore precedente.

  • Riempie un rettangolo rosso nelle coordinate scalate del nuovo contenitore.

  • Chiude il nuovo contenitore e ripristina il contenitore salvato.

  • Riempie un rettangolo verde (alle coordinate non ridimensionate) del contenitore salvato.

Il risultato è un rettangolo verde che sovralizza un rettangolo rosso più piccolo.

private:
   void BeginContainerRectangle( PaintEventArgs^ e )
   {
      // Define transformation for container.
      Rectangle srcRect = Rectangle(0,0,200,200);
      Rectangle destRect = Rectangle(100,100,150,150);

      // Begin graphics container.
      GraphicsContainer^ containerState = e->Graphics->BeginContainer( destRect, srcRect, GraphicsUnit::Pixel );

      // Fill red rectangle in container.
      e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), 0, 0, 200, 200 );

      // End graphics container.
      e->Graphics->EndContainer( containerState );

      // Fill untransformed rectangle with green.
      e->Graphics->FillRectangle( gcnew SolidBrush( Color::Green ), 0, 0, 200, 200 );
   }
private void BeginContainerRectangle(PaintEventArgs e)
{
    // Define transformation for container.
    Rectangle srcRect = new Rectangle(0, 0, 200, 200);
    Rectangle destRect = new Rectangle(100, 100, 150, 150);
             
    // Begin graphics container.
    GraphicsContainer containerState = e.Graphics.BeginContainer(
        destRect, srcRect,
        GraphicsUnit.Pixel);
             
    // Fill red rectangle in container.
    e.Graphics.FillRectangle(new SolidBrush(Color.Red), 0, 0, 200, 200);
             
    // End graphics container.
    e.Graphics.EndContainer(containerState);
             
    // Fill untransformed rectangle with green.
    e.Graphics.FillRectangle(new SolidBrush(Color.Green), 0, 0, 200, 200);
}
Private Sub BeginContainerRectangle(ByVal e As PaintEventArgs)

    ' Define transformation for container.
    Dim srcRect As New Rectangle(0, 0, 200, 200)
    Dim destRect As New Rectangle(100, 100, 150, 150)

    ' Begin graphics container.
    Dim containerState As GraphicsContainer = _
    e.Graphics.BeginContainer(destRect, srcRect, GraphicsUnit.Pixel)

    ' Fill red rectangle in container.
    e.Graphics.FillRectangle(New SolidBrush(Color.Red), 0, 0, 200, 200)

    ' End graphics container.
    e.Graphics.EndContainer(containerState)

    ' Fill untransformed rectangle with green.
    e.Graphics.FillRectangle(New SolidBrush(Color.Green), 0, 0, _
    200, 200)
End Sub

Commenti

Usare questo metodo con il EndContainer metodo per creare contenitori grafici annidati. I contenitori grafici mantengono lo stato della grafica, ad esempio la trasformazione, l'area di ritaglio e le proprietà di rendering.

Quando si chiama il BeginContainer metodo di un Graphics, un blocco di informazioni che contiene lo stato di Graphics viene inserito in uno stack. Il BeginContainer metodo restituisce un GraphicsContainer oggetto che identifica il blocco di informazioni. Quando si passa l'oggetto di identificazione al EndContainer metodo , il blocco di informazioni viene rimosso dallo stack e viene usato per ripristinare lo Graphics stato in cui si trovava al momento della chiamata al BeginContainer metodo.

I contenitori possono essere annidati; ovvero, è possibile chiamare il BeginContainer metodo più volte prima di chiamare il EndContainer metodo . Ogni volta che si chiama il BeginContainer metodo , viene inserito un blocco di informazioni nello stack e si riceve un per GraphicsContainer il blocco di informazioni. Quando si passa uno di questi oggetti al EndContainer metodo , viene Graphics restituito allo stato in cui si trovava al momento della BeginContainer chiamata al metodo che ha restituito quel particolare GraphicsContaineroggetto . Il blocco di informazioni posizionato nello stack da tale BeginContainer chiamata al metodo viene rimosso dallo stack e anche tutti i blocchi di informazioni inseriti nello stack dopo la BeginContainer chiamata al metodo vengono rimossi.

Le chiamate al Save metodo inseriscono blocchi di informazioni sullo stesso stack delle chiamate al BeginContainer metodo . Proprio come una EndContainer chiamata al metodo viene associata a una BeginContainer chiamata al metodo, una Restore chiamata al metodo viene associata a una Save chiamata al metodo.

Quando si chiama il EndContainer metodo , tutti i blocchi di informazioni posizionati nello stack (dal Save metodo o dal BeginContainer metodo ) dopo la chiamata corrispondente al BeginContainer metodo vengono rimossi dallo stack. Analogamente, quando si chiama il Restore metodo , tutti i blocchi di informazioni inseriti nello stack (dal Save metodo o dal BeginContainer metodo ) dopo la chiamata corrispondente al Save metodo vengono rimossi dallo stack.

Questo metodo specifica una trasformazione della scala per il nuovo contenitore grafico con i dstrect parametri e srcrect . La scala è uguale alla trasformazione che, se applicata a srcrect, restituisce dstrect.

Lo stato grafico stabilito dal BeginContainer metodo include le qualità di rendering dello stato grafico predefinito. Qualsiasi stato di qualità del rendering cambia esistente quando viene chiamato il metodo viene reimpostato sui valori predefiniti.

Si applica a

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

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

Salva un contenitore grafico con lo stato corrente di questo oggetto Graphics e apre e usa un nuovo contenitore grafico con la trasformazione in scala specificata.

public:
 System::Drawing::Drawing2D::GraphicsContainer ^ BeginContainer(System::Drawing::RectangleF dstrect, System::Drawing::RectangleF srcrect, System::Drawing::GraphicsUnit unit);
public System.Drawing.Drawing2D.GraphicsContainer BeginContainer (System.Drawing.RectangleF dstrect, System.Drawing.RectangleF srcrect, System.Drawing.GraphicsUnit unit);
member this.BeginContainer : System.Drawing.RectangleF * System.Drawing.RectangleF * System.Drawing.GraphicsUnit -> System.Drawing.Drawing2D.GraphicsContainer
Public Function BeginContainer (dstrect As RectangleF, srcrect As RectangleF, unit As GraphicsUnit) As GraphicsContainer

Parametri

dstrect
RectangleF

Struttura RectangleF che, insieme al parametro srcrect, specifica una trasformazione in scala per il nuovo contenitore grafico.

srcrect
RectangleF

Struttura RectangleF che, insieme al parametro dstrect, specifica una trasformazione in scala per il nuovo contenitore grafico.

unit
GraphicsUnit

Membro dell'enumerazione GraphicsUnit che specifica l'unità di misura del contenitore.

Restituisce

Questo metodo restituisce un oggetto GraphicsContainer che rappresenta lo stato di questo oggetto Graphics al momento della chiamata del metodo.

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 due rettangoli per specificare una trasformazione di scalabilità per il nuovo contenitore.

  • Apre il nuovo contenitore grafico e salva il contenitore precedente.

  • Riempie un rettangolo rosso nelle coordinate scalate del nuovo contenitore.

  • Chiude il nuovo contenitore e ripristina il contenitore salvato.

  • Riempie un rettangolo verde (alle coordinate non ridimensionate) del contenitore salvato.

Il risultato è un rettangolo verde che sovralizza un rettangolo rosso più piccolo.

private:
   void BeginContainerRectangleF( PaintEventArgs^ e )
   {
      // Define transformation for container.
      RectangleF srcRect = RectangleF(0.0F,0.0F,200.0F,200.0F);
      RectangleF destRect = RectangleF(100.0F,100.0F,150.0F,150.0F);

      // Begin graphics container.
      GraphicsContainer^ containerState = e->Graphics->BeginContainer( destRect, srcRect, GraphicsUnit::Pixel );

      // Fill red rectangle in container.
      e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), 0.0F, 0.0F, 200.0F, 200.0F );

      // End graphics container.
      e->Graphics->EndContainer( containerState );

      // Fill untransformed rectangle with green.
      e->Graphics->FillRectangle( gcnew SolidBrush( Color::Green ), 0.0F, 0.0F, 200.0F, 200.0F );
   }
private void BeginContainerRectangleF(PaintEventArgs e)
{
    // Define transformation for container.
    RectangleF srcRect = new RectangleF(0.0F, 0.0F, 200.0F, 200.0F);
    RectangleF destRect = new RectangleF(100.0F, 100.0F, 150.0F, 150.0F);
             
    // Begin graphics container.
    GraphicsContainer containerState = e.Graphics.BeginContainer(
        destRect, srcRect,
        GraphicsUnit.Pixel);
             
    // Fill red rectangle in container.
    e.Graphics.FillRectangle(new SolidBrush(Color.Red), 0.0F, 0.0F, 200.0F, 200.0F);
             
    // End graphics container.
    e.Graphics.EndContainer(containerState);
             
    // Fill untransformed rectangle with green.
    e.Graphics.FillRectangle(new SolidBrush(Color.Green), 0.0F, 0.0F, 200.0F, 200.0F);
}
Private Sub BeginContainerRectangleF(ByVal e As PaintEventArgs)

    ' Define transformation for container.
    Dim srcRect As New RectangleF(0.0F, 0.0F, 200.0F, 200.0F)
    Dim destRect As New RectangleF(100.0F, 100.0F, 150.0F, 150.0F)

    ' Begin graphics container.
    Dim containerState As GraphicsContainer = _
    e.Graphics.BeginContainer(destRect, srcRect, GraphicsUnit.Pixel)

    ' Fill red rectangle in container.
    e.Graphics.FillRectangle(New SolidBrush(Color.Red), 0.0F, 0.0F, _
    200.0F, 200.0F)

    ' End graphics container.
    e.Graphics.EndContainer(containerState)

    ' Fill untransformed rectangle with green.
    e.Graphics.FillRectangle(New SolidBrush(Color.Green), 0.0F, 0.0F, _
    200.0F, 200.0F)
End Sub

Commenti

Usare questo metodo con il EndContainer metodo per creare contenitori grafici annidati. I contenitori grafici mantengono lo stato della grafica, ad esempio la trasformazione, l'area di ritaglio e le proprietà di rendering.

Quando si chiama il BeginContainer metodo di un Graphics, un blocco di informazioni che contiene lo stato di Graphics viene inserito in uno stack. Il BeginContainer metodo restituisce un GraphicsContainer oggetto che identifica il blocco di informazioni. Quando si passa l'oggetto di identificazione al EndContainer metodo , il blocco di informazioni viene rimosso dallo stack e viene usato per ripristinare lo Graphics stato in cui si trovava al momento della chiamata al BeginContainer metodo.

I contenitori possono essere annidati; ovvero, è possibile chiamare il BeginContainer metodo più volte prima di chiamare il EndContainer metodo . Ogni volta che si chiama il BeginContainer metodo , viene inserito un blocco di informazioni nello stack e si riceve un per GraphicsContainer il blocco di informazioni. Quando si passa uno di questi oggetti al EndContainer metodo , viene Graphics restituito allo stato in cui si trovava al momento della BeginContainer chiamata al metodo che ha restituito quel particolare GraphicsContaineroggetto . Il blocco di informazioni posizionato nello stack da tale BeginContainer chiamata al metodo viene rimosso dallo stack e anche tutti i blocchi di informazioni inseriti nello stack dopo la BeginContainer chiamata al metodo vengono rimossi.

Le chiamate al Save metodo inseriscono blocchi di informazioni sullo stesso stack delle chiamate al BeginContainer metodo . Proprio come una EndContainer chiamata al metodo viene associata a una BeginContainer chiamata al metodo, una Restore chiamata al metodo viene associata a una Save chiamata al metodo.

Quando si chiama il EndContainer metodo , tutti i blocchi di informazioni posizionati nello stack (dal Save metodo o dal BeginContainer metodo ) dopo la chiamata corrispondente al BeginContainer metodo vengono rimossi dallo stack. Analogamente, quando si chiama il Restore metodo , tutti i blocchi di informazioni inseriti nello stack (dal Save metodo o dal BeginContainer metodo ) dopo la chiamata corrispondente al Save metodo vengono rimossi dallo stack.

Questo metodo specifica una trasformazione della scala per il nuovo contenitore grafico con i dstrect parametri e srcrect . La scala è uguale alla trasformazione che, se applicata a srcrect, restituisce dstrect.

Lo stato grafico stabilito dal BeginContainer metodo include le qualità di rendering dello stato grafico predefinito. Qualsiasi stato di qualità del rendering cambia esistente quando viene chiamato il metodo viene reimpostato sui valori predefiniti.

Si applica a