Graphics.BeginContainer Methode

Definition

Speichert einen Grafikcontainer mit dem aktuellen Zustand dieses Graphics und öffnet und verwendet einen neuen Grafikcontainer.

Überlädt

BeginContainer()

Speichert einen Grafikcontainer mit dem aktuellen Zustand dieses Graphics und öffnet und verwendet einen neuen Grafikcontainer.

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

Speichert einen Grafikcontainer mit dem aktuellen Zustand dieses Graphics und öffnet und verwendet einen neuen Grafikcontainer mit der angegebenen Skalierungstransformation.

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

Speichert einen Grafikcontainer mit dem aktuellen Zustand dieses Graphics und öffnet und verwendet einen neuen Grafikcontainer mit der angegebenen Skalierungstransformation.

BeginContainer()

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Speichert einen Grafikcontainer mit dem aktuellen Zustand dieses Graphics und öffnet und verwendet einen neuen Grafikcontainer.

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

Gibt zurück

Diese Methode gibt einen GraphicsContainer zurück, der den Zustand dieses Graphics zum Zeitpunkt des Methodenaufrufs darstellt.

Beispiele

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgse, was ein Parameter des Paint Ereignishandlers ist. Der Code führt die folgenden Aktionen aus:

  • Öffnet einen neuen Grafikcontainer und speichert den alten Container.

  • Übersetzt die Weltkoordinaten im Container.

  • Füllt ein rotes Rechteck in den (übersetzten Koordinaten des) neuen Containers aus.

  • Schließt den neuen Container und stellt den gespeicherten Container wieder her.

  • Füllt ein grünes Rechteck (bis zu den nicht übersetzten Koordinaten) des gespeicherten Containers aus.

Das Ergebnis ist ein grünes Rechteck, das ein rotes Rechteck der gleichen Größe überschreitet.

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

Hinweise

Verwenden Sie diese Methode mit der EndContainer -Methode, um geschachtelte Grafikcontainer zu erstellen. Grafikcontainer behalten den Grafikzustand bei, z. B. Transformation, Beschneidungsbereich und Renderingeigenschaften.

Wenn Sie die BeginContainer -Methode eines Graphicsaufrufen, wird ein Informationsblock, der den Zustand von Graphics enthält, auf einem Stapel platziert. Die BeginContainer -Methode gibt einen GraphicsContainer zurück, der diesen Informationsblock identifiziert. Wenn Sie das identifizierende Objekt an die EndContainer -Methode übergeben, wird der Informationsblock aus dem Stapel entfernt und verwendet, um den Graphics Zustand wiederherzustellen, in dem er sich zum Zeitpunkt des BeginContainer Methodenaufrufs befand.

Container können geschachtelt werden; Das heißt, Sie können die BeginContainer -Methode mehrmals aufrufen, bevor Sie die EndContainer -Methode aufrufen. Jedes Mal, wenn Sie die BeginContainer -Methode aufrufen, wird ein Informationsblock auf dem Stapel platziert, und Sie erhalten einen GraphicsContainer für den Informationsblock. Wenn Sie eines dieser Objekte an die EndContainer -Methode übergeben, wird in Graphics den Zustand zurückgegeben, in dem es sich zum Zeitpunkt des Methodenaufrufs befand, der BeginContainer diese bestimmte GraphicsContainerzurückgegeben hat. Der informationsblock, der von BeginContainer diesem Methodenaufruf auf dem Stapel platziert wird, wird aus dem Stapel entfernt, und alle Informationsblöcke, die nach diesem Methodenaufruf auf diesem Stapel platziert werden, BeginContainer werden ebenfalls entfernt.

Aufrufe der Save -Methode platzieren Informationsblöcke auf demselben Stapel wie Aufrufe der BeginContainer -Methode. Ebenso wie ein EndContainer Methodenaufruf mit einem BeginContainer Methodenaufruf gekoppelt wird, wird ein Restore Methodenaufruf mit einem Save Methodenaufruf gekoppelt.

Wenn Sie die EndContainer -Methode aufrufen, werden alle Informationsblöcke, die nach dem entsprechenden Aufruf der -Methode auf dem Stapel (von der Save -Methode oder von BeginContainer der BeginContainer -Methode) platziert werden, aus dem Stapel entfernt. Ebenso werden beim Aufrufen der Restore -Methode alle Informationsblöcke, die nach dem entsprechenden Aufruf der -Methode auf dem Stapel (von der Save -Methode oder von der BeginContainerSave -Methode) platziert werden, aus dem Stapel entfernt.

Der von der BeginContainer -Methode festgelegte Grafikzustand enthält die Renderingqualitäten des Standardgrafikzustands. Jeder Zustand der Renderingqualität, der beim Aufruf der Methode geändert wird, wird auf die Standardwerte zurückgesetzt.

Gilt für:

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Speichert einen Grafikcontainer mit dem aktuellen Zustand dieses Graphics und öffnet und verwendet einen neuen Grafikcontainer mit der angegebenen Skalierungstransformation.

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

Parameter

dstrect
Rectangle

Rectangle-Struktur, die gemeinsam mit dem srcrect-Parameter eine Skalierungstransformation für den Container angibt.

srcrect
Rectangle

Rectangle-Struktur, die gemeinsam mit dem dstrect-Parameter eine Skalierungstransformation für den Container angibt.

unit
GraphicsUnit

Member der GraphicsUnit-Enumeration, die die Maßeinheit für den Container angibt.

Gibt zurück

Diese Methode gibt einen GraphicsContainer zurück, der den Zustand dieses Graphics zum Zeitpunkt des Methodenaufrufs darstellt.

Beispiele

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgse, was ein Parameter des Paint Ereignishandlers ist. Der Code führt die folgenden Aktionen aus:

  • Erstellt zwei Rechtecke, um eine Skalierungstransformation für den neuen Container anzugeben.

  • Öffnet den neuen Grafikcontainer und speichert den alten Container.

  • Füllt ein rotes Rechteck in den (skalierten Koordinaten des) neuen Containers aus.

  • Schließt den neuen Container und stellt den gespeicherten Container wieder her.

  • Füllt ein grünes Rechteck (bis zu den nicht skalierten Koordinaten) des gespeicherten Containers aus.

Das Ergebnis ist ein grünes Rechteck, das ein kleineres rotes Rechteck überschreibt.

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

Hinweise

Verwenden Sie diese Methode mit der EndContainer -Methode, um geschachtelte Grafikcontainer zu erstellen. Grafikcontainer behalten den Grafikzustand bei, z. B. Transformation, Beschneidungsbereich und Renderingeigenschaften.

Wenn Sie die BeginContainer -Methode eines Graphicsaufrufen, wird ein Informationsblock, der den Zustand von Graphics enthält, auf einem Stapel platziert. Die BeginContainer -Methode gibt einen GraphicsContainer zurück, der diesen Informationsblock identifiziert. Wenn Sie das identifizierende Objekt an die EndContainer -Methode übergeben, wird der Informationsblock aus dem Stapel entfernt und verwendet, um den Graphics Zustand wiederherzustellen, in dem er sich zum Zeitpunkt des BeginContainer Methodenaufrufs befand.

Container können geschachtelt werden; Das heißt, Sie können die BeginContainer -Methode mehrmals aufrufen, bevor Sie die EndContainer -Methode aufrufen. Jedes Mal, wenn Sie die BeginContainer -Methode aufrufen, wird ein Informationsblock auf dem Stapel platziert, und Sie erhalten einen GraphicsContainer für den Informationsblock. Wenn Sie eines dieser Objekte an die EndContainer -Methode übergeben, wird in Graphics den Zustand zurückgegeben, in dem es sich zum Zeitpunkt des Methodenaufrufs befand, der BeginContainer diese bestimmte GraphicsContainerzurückgegeben hat. Der informationsblock, der von BeginContainer diesem Methodenaufruf auf dem Stapel platziert wird, wird aus dem Stapel entfernt, und alle Informationsblöcke, die nach diesem Methodenaufruf auf diesem Stapel platziert werden, BeginContainer werden ebenfalls entfernt.

Aufrufe der Save -Methode platzieren Informationsblöcke auf demselben Stapel wie Aufrufe der BeginContainer -Methode. Ebenso wie ein EndContainer Methodenaufruf mit einem BeginContainer Methodenaufruf gekoppelt wird, wird ein Restore Methodenaufruf mit einem Save Methodenaufruf gekoppelt.

Wenn Sie die EndContainer -Methode aufrufen, werden alle Informationsblöcke, die nach dem entsprechenden Aufruf der -Methode auf dem Stapel (von der Save -Methode oder von BeginContainer der BeginContainer -Methode) platziert werden, aus dem Stapel entfernt. Ebenso werden beim Aufrufen der Restore -Methode alle Informationsblöcke, die nach dem entsprechenden Aufruf der -Methode auf dem Stapel (von der Save -Methode oder von der BeginContainerSave -Methode) platziert werden, aus dem Stapel entfernt.

Diese Methode gibt eine Skalierungstransformation für den neuen Grafikcontainer mit den dstrect Parametern und srcrect an. Die Skalierung ist gleich der Transformation, die, wenn sie auf angewendet wird, in srcrectdstrectergibt.

Der von der BeginContainer -Methode festgelegte Grafikzustand enthält die Renderingqualitäten des Standardgrafikzustands. Jeder Zustand der Renderingqualität, der beim Aufruf der Methode geändert wird, wird auf die Standardwerte zurückgesetzt.

Gilt für:

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Speichert einen Grafikcontainer mit dem aktuellen Zustand dieses Graphics und öffnet und verwendet einen neuen Grafikcontainer mit der angegebenen Skalierungstransformation.

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

Parameter

dstrect
RectangleF

RectangleF-Struktur, die gemeinsam mit dem srcrect-Parameter eine Skalierungstransformation für den neuen Grafikcontainer angibt.

srcrect
RectangleF

RectangleF-Struktur, die gemeinsam mit dem dstrect-Parameter eine Skalierungstransformation für den neuen Grafikcontainer angibt.

unit
GraphicsUnit

Member der GraphicsUnit-Enumeration, die die Maßeinheit für den Container angibt.

Gibt zurück

Diese Methode gibt einen GraphicsContainer zurück, der den Zustand dieses Graphics zum Zeitpunkt des Methodenaufrufs darstellt.

Beispiele

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgse, was ein Parameter des Paint Ereignishandlers ist. Der Code führt die folgenden Aktionen aus:

  • Erstellt zwei Rechtecke, um eine Skalierungstransformation für den neuen Container anzugeben.

  • Öffnet den neuen Grafikcontainer und speichert den alten Container.

  • Füllt ein rotes Rechteck in den (skalierten Koordinaten des) neuen Containers aus.

  • Schließt den neuen Container und stellt den gespeicherten Container wieder her.

  • Füllt ein grünes Rechteck (bis zu den nicht skalierten Koordinaten) des gespeicherten Containers aus.

Das Ergebnis ist ein grünes Rechteck, das ein kleineres rotes Rechteck überschreibt.

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

Hinweise

Verwenden Sie diese Methode mit der EndContainer -Methode, um geschachtelte Grafikcontainer zu erstellen. Grafikcontainer behalten den Grafikzustand bei, z. B. Transformation, Beschneidungsbereich und Renderingeigenschaften.

Wenn Sie die BeginContainer -Methode eines Graphicsaufrufen, wird ein Informationsblock, der den Zustand von Graphics enthält, auf einem Stapel platziert. Die BeginContainer -Methode gibt einen GraphicsContainer zurück, der diesen Informationsblock identifiziert. Wenn Sie das identifizierende Objekt an die EndContainer -Methode übergeben, wird der Informationsblock aus dem Stapel entfernt und verwendet, um den Graphics Zustand wiederherzustellen, in dem er sich zum Zeitpunkt des BeginContainer Methodenaufrufs befand.

Container können geschachtelt werden; Das heißt, Sie können die BeginContainer -Methode mehrmals aufrufen, bevor Sie die EndContainer -Methode aufrufen. Jedes Mal, wenn Sie die BeginContainer -Methode aufrufen, wird ein Informationsblock auf dem Stapel platziert, und Sie erhalten einen GraphicsContainer für den Informationsblock. Wenn Sie eines dieser Objekte an die EndContainer -Methode übergeben, wird in Graphics den Zustand zurückgegeben, in dem es sich zum Zeitpunkt des Methodenaufrufs befand, der BeginContainer diese bestimmte GraphicsContainerzurückgegeben hat. Der informationsblock, der von BeginContainer diesem Methodenaufruf auf dem Stapel platziert wird, wird aus dem Stapel entfernt, und alle Informationsblöcke, die nach diesem Methodenaufruf auf diesem Stapel platziert werden, BeginContainer werden ebenfalls entfernt.

Aufrufe der Save -Methode platzieren Informationsblöcke auf demselben Stapel wie Aufrufe der BeginContainer -Methode. Ebenso wie ein EndContainer Methodenaufruf mit einem BeginContainer Methodenaufruf gekoppelt wird, wird ein Restore Methodenaufruf mit einem Save Methodenaufruf gekoppelt.

Wenn Sie die EndContainer -Methode aufrufen, werden alle Informationsblöcke, die nach dem entsprechenden Aufruf der -Methode auf dem Stapel (von der Save -Methode oder von BeginContainer der BeginContainer -Methode) platziert werden, aus dem Stapel entfernt. Ebenso werden beim Aufrufen der Restore -Methode alle Informationsblöcke, die nach dem entsprechenden Aufruf der -Methode auf dem Stapel (von der Save -Methode oder von der BeginContainerSave -Methode) platziert werden, aus dem Stapel entfernt.

Diese Methode gibt eine Skalierungstransformation für den neuen Grafikcontainer mit den dstrect Parametern und srcrect an. Die Skalierung ist gleich der Transformation, die, wenn sie auf angewendet wird, in srcrectdstrectergibt.

Der von der BeginContainer -Methode festgelegte Grafikzustand enthält die Renderingqualitäten des Standardgrafikzustands. Jeder Zustand der Renderingqualität, der beim Aufruf der Methode geändert wird, wird auf die Standardwerte zurückgesetzt.

Gilt für: