Freigeben über


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 Status dieser Graphics und öffnet und verwendet einen neuen Grafikcontainer mit der angegebenen Skalierungstransformation.

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

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

BeginContainer()

Quelle:
Graphics.cs
Quelle:
Graphics.cs
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 Status dieses Graphics zum Zeitpunkt des Methodenaufrufs darstellt.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. 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.

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

  • Füllt ein grünes Rechteck (in die nicht übersetzten Koordinaten) des gespeicherten Containers.

Das Ergebnis ist ein grünes Rechteck, das ein rotes Rechteck derselben Größe überliest.

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, Clippingbereich und Renderingeigenschaften.

Wenn Sie die BeginContainer-Methode einer Graphicsaufrufen, wird ein Informationsblock, der den Status der Graphics enthält, auf einem Stapel platziert. Die BeginContainer-Methode gibt eine GraphicsContainer zurück, die diesen Informationsblock identifiziert. Wenn Sie das identifizierende Objekt an die EndContainer-Methode übergeben, wird der Informationsblock aus dem Stapel entfernt und zum Wiederherstellen des Graphics zum Zeitpunkt des aufrufs der BeginContainer Methode verwendet.

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 den Stapel gesetzt, und Sie erhalten eine GraphicsContainer für den Informationsblock. Wenn Sie eines dieser Objekte an die EndContainer-Methode übergeben, wird die Graphics zum Zeitpunkt des aufrufs der BeginContainer Methode zurückgegeben, die diesen bestimmten GraphicsContainerzurückgegeben hat. Der Informationsblock, der durch diesen BeginContainer Methodenaufruf auf dem Stapel platziert wird, wird aus dem Stapel entfernt, und alle Informationsblöcke, die nach diesem BeginContainer Methodenaufruf auf diesem Stapel platziert werden, werden ebenfalls entfernt.

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

Wenn Sie die EndContainer-Methode aufrufen, werden alle Informationsblöcke, die auf dem Stapel platziert werden (durch die Save-Methode oder durch die BeginContainer-Methode), nachdem der entsprechende Aufruf der BeginContainer-Methode aus dem Stapel entfernt wurde. Ebenso werden beim Aufrufen der Restore-Methode alle Informationsblöcke, die auf dem Stapel platziert werden (durch die Save-Methode oder durch die BeginContainer-Methode), nachdem der entsprechende Aufruf der Save-Methode aus dem Stapel entfernt wurde.

Der vom BeginContainer-Methode festgelegte Grafikzustand umfasst die Renderingqualitäten des Standardgrafikzustands; Jeder Zustand der Renderingqualität ändert sich, wenn die Methode aufgerufen wird, auf die Standardwerte zurückgesetzt.

Gilt für:

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

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

Speichert einen Grafikcontainer mit dem aktuellen Status dieser 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 zusammen mit dem parameter srcrect eine Skalierungstransformation für den Container angibt.

srcrect
Rectangle

Rectangle Struktur, die zusammen mit dem parameter dstrect eine Skalierungstransformation für den Container angibt.

unit
GraphicsUnit

Mitglied der GraphicsUnit-Aufzählung, die die Maßeinheit für den Container angibt.

Gibt zurück

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

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. 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.

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

  • Füllt ein grünes Rechteck (an die nicht skalierten Koordinaten) des gespeicherten Containers.

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

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, Clippingbereich und Renderingeigenschaften.

Wenn Sie die BeginContainer-Methode einer Graphicsaufrufen, wird ein Informationsblock, der den Status der Graphics enthält, auf einem Stapel platziert. Die BeginContainer-Methode gibt eine GraphicsContainer zurück, die diesen Informationsblock identifiziert. Wenn Sie das identifizierende Objekt an die EndContainer-Methode übergeben, wird der Informationsblock aus dem Stapel entfernt und zum Wiederherstellen des Graphics zum Zeitpunkt des aufrufs der BeginContainer Methode verwendet.

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 den Stapel gesetzt, und Sie erhalten eine GraphicsContainer für den Informationsblock. Wenn Sie eines dieser Objekte an die EndContainer-Methode übergeben, wird die Graphics zum Zeitpunkt des aufrufs der BeginContainer Methode zurückgegeben, die diesen bestimmten GraphicsContainerzurückgegeben hat. Der Informationsblock, der durch diesen BeginContainer Methodenaufruf auf dem Stapel platziert wird, wird aus dem Stapel entfernt, und alle Informationsblöcke, die nach diesem BeginContainer Methodenaufruf auf diesem Stapel platziert werden, werden ebenfalls entfernt.

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

Wenn Sie die EndContainer-Methode aufrufen, werden alle Informationsblöcke, die auf dem Stapel platziert werden (durch die Save-Methode oder durch die BeginContainer-Methode), nachdem der entsprechende Aufruf der BeginContainer-Methode aus dem Stapel entfernt wurde. Ebenso werden beim Aufrufen der Restore-Methode alle Informationsblöcke, die auf dem Stapel platziert werden (durch die Save-Methode oder durch die BeginContainer-Methode), nachdem der entsprechende Aufruf der Save-Methode aus dem Stapel entfernt wurde.

Diese Methode gibt eine Skalierungstransformation für den neuen Grafikcontainer mit den Parametern dstrect und srcrect an. Die Skalierung entspricht der Transformation, die bei Anwendung auf srcrectzu dstrectführt.

Der vom BeginContainer-Methode festgelegte Grafikzustand umfasst die Renderingqualitäten des Standardgrafikzustands; Jeder Zustand der Renderingqualität ändert sich, wenn die Methode aufgerufen wird, auf die Standardwerte zurückgesetzt.

Gilt für:

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

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

Speichert einen Grafikcontainer mit dem aktuellen Status dieser 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 zusammen mit dem parameter srcrect eine Skalierungstransformation für den neuen Grafikcontainer angibt.

srcrect
RectangleF

RectangleF Struktur, die zusammen mit dem parameter dstrect eine Skalierungstransformation für den neuen Grafikcontainer angibt.

unit
GraphicsUnit

Mitglied der GraphicsUnit-Aufzählung, die die Maßeinheit für den Container angibt.

Gibt zurück

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

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. 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.

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

  • Füllt ein grünes Rechteck (an die nicht skalierten Koordinaten) des gespeicherten Containers.

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

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, Clippingbereich und Renderingeigenschaften.

Wenn Sie die BeginContainer-Methode einer Graphicsaufrufen, wird ein Informationsblock, der den Status der Graphics enthält, auf einem Stapel platziert. Die BeginContainer-Methode gibt eine GraphicsContainer zurück, die diesen Informationsblock identifiziert. Wenn Sie das identifizierende Objekt an die EndContainer-Methode übergeben, wird der Informationsblock aus dem Stapel entfernt und zum Wiederherstellen des Graphics zum Zeitpunkt des aufrufs der BeginContainer Methode verwendet.

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 den Stapel gesetzt, und Sie erhalten eine GraphicsContainer für den Informationsblock. Wenn Sie eines dieser Objekte an die EndContainer-Methode übergeben, wird die Graphics zum Zeitpunkt des aufrufs der BeginContainer Methode zurückgegeben, die diesen bestimmten GraphicsContainerzurückgegeben hat. Der Informationsblock, der durch diesen BeginContainer Methodenaufruf auf dem Stapel platziert wird, wird aus dem Stapel entfernt, und alle Informationsblöcke, die nach diesem BeginContainer Methodenaufruf auf diesem Stapel platziert werden, werden ebenfalls entfernt.

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

Wenn Sie die EndContainer-Methode aufrufen, werden alle Informationsblöcke, die auf dem Stapel platziert werden (durch die Save-Methode oder durch die BeginContainer-Methode), nachdem der entsprechende Aufruf der BeginContainer-Methode aus dem Stapel entfernt wurde. Ebenso werden beim Aufrufen der Restore-Methode alle Informationsblöcke, die auf dem Stapel platziert werden (durch die Save-Methode oder durch die BeginContainer-Methode), nachdem der entsprechende Aufruf der Save-Methode aus dem Stapel entfernt wurde.

Diese Methode gibt eine Skalierungstransformation für den neuen Grafikcontainer mit den Parametern dstrect und srcrect an. Die Skalierung entspricht der Transformation, die bei Anwendung auf srcrectzu dstrectführt.

Der vom BeginContainer-Methode festgelegte Grafikzustand umfasst die Renderingqualitäten des Standardgrafikzustands; Jeder Zustand der Renderingqualität ändert sich, wenn die Methode aufgerufen wird, auf die Standardwerte zurückgesetzt.

Gilt für: