Compartir a través de


Graphics.BeginContainer Método

Definición

Guarda un contenedor de gráficos con el estado actual de este Graphics y abre y usa un nuevo contenedor de gráficos.

Sobrecargas

BeginContainer()

Guarda un contenedor de gráficos con el estado actual de este Graphics y abre y usa un nuevo contenedor de gráficos.

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

Guarda un contenedor de gráficos con el estado actual de este Graphics y abre y usa un nuevo contenedor de gráficos con la transformación de escala especificada.

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

Guarda un contenedor de gráficos con el estado actual de este Graphics y abre y usa un nuevo contenedor de gráficos con la transformación de escala especificada.

BeginContainer()

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs

Guarda un contenedor de gráficos con el estado actual de este Graphics y abre y usa un nuevo contenedor de gráficos.

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

Devoluciones

Este método devuelve un GraphicsContainer que representa el estado de este Graphics en el momento de la llamada al método.

Ejemplos

El ejemplo de código siguiente está diseñado para su uso con Windows Forms y requiere PaintEventArgse, que es un parámetro del controlador de eventos Paint. El código realiza las siguientes acciones:

  • Abre un nuevo contenedor de gráficos y guarda el contenedor anterior.

  • Traduce las coordenadas del mundo en el contenedor.

  • Rellena un rectángulo rojo en el nuevo contenedor (coordenadas traducidas del).

  • Cierra el nuevo contenedor y restaura el contenedor guardado.

  • Rellena un rectángulo verde (en las coordenadas sin traducir) del contenedor guardado.

El resultado es un rectángulo verde que sobrepone un rectángulo rojo del mismo tamaño.

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

Comentarios

Use este método con el método EndContainer para crear contenedores de gráficos anidados. Los contenedores de gráficos conservan el estado de los gráficos, como la transformación, la región de recorte y las propiedades de representación.

Cuando se llama al método BeginContainer de un Graphics, se coloca un bloque de información que contiene el estado del Graphics en una pila. El método BeginContainer devuelve un GraphicsContainer que identifica ese bloque de información. Al pasar el objeto de identificación al método EndContainer, el bloque de información se quita de la pila y se usa para restaurar el Graphics al estado en el que se encontraba en el momento de la llamada al método BeginContainer.

Los contenedores se pueden anidar; es decir, puede llamar al método BeginContainer varias veces antes de llamar al método EndContainer. Cada vez que se llama al método BeginContainer, se coloca un bloque de información en la pila y se recibe un GraphicsContainer para el bloque de información. Al pasar uno de esos objetos al método EndContainer, el Graphics se devuelve al estado en el que estaba en el momento de la llamada al método BeginContainer que devolvió ese GraphicsContainerconcreto. El bloque de información colocado en la pila por ese BeginContainer llamada al método se quita de la pila y también se quitan todos los bloques de información colocados en esa pila después de esa llamada al método BeginContainer.

Las llamadas al método Save colocan bloques de información en la misma pila que las llamadas al método BeginContainer. Al igual que una llamada al método EndContainer se empareja con una llamada de método BeginContainer, una llamada de método Restore se empareja con una llamada de método Save.

Cuando se llama al método EndContainer, todos los bloques de información colocados en la pila (por el método Save o por el método BeginContainer) después de la llamada correspondiente al método BeginContainer se quitan de la pila. Del mismo modo, al llamar al método Restore, todos los bloques de información colocados en la pila (por el método Save o por el método BeginContainer) después de la llamada correspondiente al método Save se quitan de la pila.

El estado gráfico establecido por el método BeginContainer incluye las cualidades de representación del estado gráfico predeterminado; cualquier estado de calidad de representación cambia existente cuando se llama al método se restablece a los valores predeterminados.

Se aplica a

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs

Guarda un contenedor de gráficos con el estado actual de este Graphics y abre y usa un nuevo contenedor de gráficos con la transformación de escala especificada.

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

Parámetros

dstrect
Rectangle

Rectangle estructura que, junto con el parámetro srcrect, especifica una transformación de escala para el contenedor.

srcrect
Rectangle

Rectangle estructura que, junto con el parámetro dstrect, especifica una transformación de escala para el contenedor.

unit
GraphicsUnit

Miembro de la enumeración GraphicsUnit que especifica la unidad de medida para el contenedor.

Devoluciones

Este método devuelve un GraphicsContainer que representa el estado de este Graphics en el momento de la llamada al método.

Ejemplos

El ejemplo de código siguiente está diseñado para su uso con Windows Forms y requiere PaintEventArgse, que es un parámetro del controlador de eventos Paint. El código realiza las siguientes acciones:

  • Crea dos rectángulos para especificar una transformación de escala para el nuevo contenedor.

  • Abre el nuevo contenedor de gráficos y guarda el contenedor anterior.

  • Rellena un rectángulo rojo en el nuevo contenedor (coordenadas escaladas).

  • Cierra el nuevo contenedor y restaura el contenedor guardado.

  • Rellena un rectángulo verde (en las coordenadas sin escalar) del contenedor guardado.

El resultado es un rectángulo verde que sobrepone un rectángulo rojo más pequeño.

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

Comentarios

Use este método con el método EndContainer para crear contenedores de gráficos anidados. Los contenedores de gráficos conservan el estado de los gráficos, como la transformación, la región de recorte y las propiedades de representación.

Cuando se llama al método BeginContainer de un Graphics, se coloca un bloque de información que contiene el estado del Graphics en una pila. El método BeginContainer devuelve un GraphicsContainer que identifica ese bloque de información. Al pasar el objeto de identificación al método EndContainer, el bloque de información se quita de la pila y se usa para restaurar el Graphics al estado en el que se encontraba en el momento de la llamada al método BeginContainer.

Los contenedores se pueden anidar; es decir, puede llamar al método BeginContainer varias veces antes de llamar al método EndContainer. Cada vez que se llama al método BeginContainer, se coloca un bloque de información en la pila y se recibe un GraphicsContainer para el bloque de información. Al pasar uno de esos objetos al método EndContainer, el Graphics se devuelve al estado en el que estaba en el momento de la llamada al método BeginContainer que devolvió ese GraphicsContainerconcreto. El bloque de información colocado en la pila por ese BeginContainer llamada al método se quita de la pila y también se quitan todos los bloques de información colocados en esa pila después de esa llamada al método BeginContainer.

Las llamadas al método Save colocan bloques de información en la misma pila que las llamadas al método BeginContainer. Al igual que una llamada al método EndContainer se empareja con una llamada de método BeginContainer, una llamada de método Restore se empareja con una llamada de método Save.

Cuando se llama al método EndContainer, todos los bloques de información colocados en la pila (por el método Save o por el método BeginContainer) después de la llamada correspondiente al método BeginContainer se quitan de la pila. Del mismo modo, al llamar al método Restore, todos los bloques de información colocados en la pila (por el método Save o por el método BeginContainer) después de la llamada correspondiente al método Save se quitan de la pila.

Este método especifica una transformación de escala para el nuevo contenedor de gráficos con los parámetros dstrect y srcrect. La escala es igual a la transformación que, cuando se aplica a srcrect, da como resultado dstrect.

El estado gráfico establecido por el método BeginContainer incluye las cualidades de representación del estado gráfico predeterminado; cualquier estado de calidad de representación cambia existente cuando se llama al método se restablece a los valores predeterminados.

Se aplica a

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs

Guarda un contenedor de gráficos con el estado actual de este Graphics y abre y usa un nuevo contenedor de gráficos con la transformación de escala especificada.

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

Parámetros

dstrect
RectangleF

RectangleF estructura que, junto con el parámetro srcrect, especifica una transformación de escala para el nuevo contenedor de gráficos.

srcrect
RectangleF

RectangleF estructura que, junto con el parámetro dstrect, especifica una transformación de escala para el nuevo contenedor de gráficos.

unit
GraphicsUnit

Miembro de la enumeración GraphicsUnit que especifica la unidad de medida para el contenedor.

Devoluciones

Este método devuelve un GraphicsContainer que representa el estado de este Graphics en el momento de la llamada al método.

Ejemplos

El ejemplo de código siguiente está diseñado para su uso con Windows Forms y requiere PaintEventArgse, que es un parámetro del controlador de eventos Paint. El código realiza las siguientes acciones:

  • Crea dos rectángulos para especificar una transformación de escala para el nuevo contenedor.

  • Abre el nuevo contenedor de gráficos y guarda el contenedor anterior.

  • Rellena un rectángulo rojo en el nuevo contenedor (coordenadas escaladas).

  • Cierra el nuevo contenedor y restaura el contenedor guardado.

  • Rellena un rectángulo verde (en las coordenadas sin escalar) del contenedor guardado.

El resultado es un rectángulo verde que sobrepone un rectángulo rojo más pequeño.

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

Comentarios

Use este método con el método EndContainer para crear contenedores de gráficos anidados. Los contenedores de gráficos conservan el estado de los gráficos, como la transformación, la región de recorte y las propiedades de representación.

Cuando se llama al método BeginContainer de un Graphics, se coloca un bloque de información que contiene el estado del Graphics en una pila. El método BeginContainer devuelve un GraphicsContainer que identifica ese bloque de información. Al pasar el objeto de identificación al método EndContainer, el bloque de información se quita de la pila y se usa para restaurar el Graphics al estado en el que se encontraba en el momento de la llamada al método BeginContainer.

Los contenedores se pueden anidar; es decir, puede llamar al método BeginContainer varias veces antes de llamar al método EndContainer. Cada vez que se llama al método BeginContainer, se coloca un bloque de información en la pila y se recibe un GraphicsContainer para el bloque de información. Al pasar uno de esos objetos al método EndContainer, el Graphics se devuelve al estado en el que estaba en el momento de la llamada al método BeginContainer que devolvió ese GraphicsContainerconcreto. El bloque de información colocado en la pila por ese BeginContainer llamada al método se quita de la pila y también se quitan todos los bloques de información colocados en esa pila después de esa llamada al método BeginContainer.

Las llamadas al método Save colocan bloques de información en la misma pila que las llamadas al método BeginContainer. Al igual que una llamada al método EndContainer se empareja con una llamada de método BeginContainer, una llamada de método Restore se empareja con una llamada de método Save.

Cuando se llama al método EndContainer, todos los bloques de información colocados en la pila (por el método Save o por el método BeginContainer) después de la llamada correspondiente al método BeginContainer se quitan de la pila. Del mismo modo, al llamar al método Restore, todos los bloques de información colocados en la pila (por el método Save o por el método BeginContainer) después de la llamada correspondiente al método Save se quitan de la pila.

Este método especifica una transformación de escala para el nuevo contenedor de gráficos con los parámetros dstrect y srcrect. La escala es igual a la transformación que, cuando se aplica a srcrect, da como resultado dstrect.

El estado gráfico establecido por el método BeginContainer incluye las cualidades de representación del estado gráfico predeterminado; cualquier estado de calidad de representación cambia existente cuando se llama al método se restablece a los valores predeterminados.

Se aplica a