Leggere in inglese

Condividi tramite


Graphics.BeginContainer Metodo

Definizione

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

Overload

BeginContainer()

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

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

Salva un contenitore grafico con lo stato corrente di questo Graphics e apre e usa un nuovo contenitore grafico con la trasformazione di scalabilità specificata.

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

Salva un contenitore grafico con lo stato corrente di questo Graphics e apre e usa un nuovo contenitore grafico con la trasformazione di scalabilità specificata.

BeginContainer()

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

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

C#
public System.Drawing.Drawing2D.GraphicsContainer BeginContainer();

Restituisce

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

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:

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

  • Converte le coordinate del mondo 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 convertite) del contenitore salvato.

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

C#
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);
}

Commenti

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

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

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

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

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

Lo stato della grafica stabilito dal metodo BeginContainer 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

.NET 10 (package-provided) e altre versioni
Prodotto Versioni
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

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

Salva un contenitore grafico con lo stato corrente di questo Graphics e apre e usa un nuovo contenitore grafico con la trasformazione di scalabilità specificata.

C#
public System.Drawing.Drawing2D.GraphicsContainer BeginContainer(System.Drawing.Rectangle dstrect, System.Drawing.Rectangle srcrect, System.Drawing.GraphicsUnit unit);

Parametri

dstrect
Rectangle

Rectangle struttura che, insieme al parametro srcrect, specifica una trasformazione di scalabilità per il contenitore.

srcrect
Rectangle

Rectangle struttura che, insieme al parametro dstrect, specifica una trasformazione di scalabilità per il contenitore.

unit
GraphicsUnit

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

Restituisce

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

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 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.

C#
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);
}

Commenti

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

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

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

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

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

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

Lo stato della grafica stabilito dal metodo BeginContainer 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

.NET 10 (package-provided) e altre versioni
Prodotto Versioni
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

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

Salva un contenitore grafico con lo stato corrente di questo Graphics e apre e usa un nuovo contenitore grafico con la trasformazione di scalabilità specificata.

C#
public System.Drawing.Drawing2D.GraphicsContainer BeginContainer(System.Drawing.RectangleF dstrect, System.Drawing.RectangleF srcrect, System.Drawing.GraphicsUnit unit);

Parametri

dstrect
RectangleF

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

srcrect
RectangleF

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

unit
GraphicsUnit

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

Restituisce

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

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 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.

C#
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);
}

Commenti

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

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

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

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

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

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

Lo stato della grafica stabilito dal metodo BeginContainer 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

.NET 10 (package-provided) e altre versioni
Prodotto Versioni
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10