Graphics.BeginContainer Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Guarda um contentor gráfico com o estado Graphics atual e abre e usa um novo contentor gráfico.
Sobrecargas
| Name | Description |
|---|---|
| BeginContainer() |
Guarda um contentor gráfico com o estado Graphics atual e abre e usa um novo contentor gráfico. |
| BeginContainer(Rectangle, Rectangle, GraphicsUnit) |
Guarda um contentor gráfico com o estado Graphics atual deste e abre e usa um novo contentor gráfico com a transformação de escala especificada. |
| BeginContainer(RectangleF, RectangleF, GraphicsUnit) |
Guarda um contentor gráfico com o estado Graphics atual deste e abre e usa um novo contentor gráfico com a transformação de escala especificada. |
BeginContainer()
Guarda um contentor gráfico com o estado Graphics atual e abre e usa um novo contentor gráfico.
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
Devoluções
Este método devolve a GraphicsContainer que representa o estado deste Graphics no momento da chamada ao método.
Exemplos
O seguinte exemplo de código foi concebido para uso com Windows Forms e requer PaintEventArgse, que é um parâmetro do tratador de eventos Paint. O código executa as seguintes ações:
Abre um novo contentor gráfico e guarda o contentor antigo.
Traduz as coordenadas do mundo no contentor.
Preenche um retângulo vermelho no novo contentor (coordenadas traduzidas do).
Fecha o novo contentor e restaura o contentor guardado.
Preenche um retângulo verde (até às coordenadas não traduzidas) do contentor guardado.
O resultado é um retângulo verde que sobrepõe-se a um retângulo vermelho do mesmo tamanho.
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
Observações
Use este método juntamente com o EndContainer método para criar contentores gráficos aninhados. Os contentores gráficos mantêm o estado gráfico, como transformação, região de clipping e propriedades de renderização.
Quando se chama o BeginContainer método de um Graphics, um bloco de informação que detém o estado de Graphics é colocado numa pilha. O BeginContainer método devolve um GraphicsContainer que identifica esse bloco de informação. Quando passa o objeto identificador ao EndContainer método, o bloco de informação é removido da pilha e é usado para restaurar o Graphics objeto ao estado em que estava no momento da BeginContainer chamada ao método.
Os contentores podem ser aninhados; ou seja, pode chamar o BeginContainer método várias vezes antes de chamar o EndContainer método. Cada vez que chamas o BeginContainer método, um bloco de informação é colocado na pilha, e recebes um GraphicsContainer para o bloco de informação. Quando passa um desses objetos ao EndContainer método, o Graphics é devolvido ao estado em que estava no momento da BeginContainer chamada ao método que devolveu aquele .GraphicsContainer O bloco de informação colocado na pilha por essa BeginContainer chamada de método é removido da pilha, e todos os blocos de informação colocados nessa pilha após essa BeginContainer chamada de método também são removidos.
As chamadas ao Save método colocam blocos de informação na mesma pilha que as chamadas ao BeginContainer método. Tal como uma EndContainer chamada de método é emparelhada com uma BeginContainer chamada de método, uma Restore chamada de método é emparelhada com uma Save chamada de método.
Quando chama o EndContainer método, todos os blocos de informação colocados na pilha (pelo Save método ou pelo método BeginContainer ) após a chamada correspondente ao BeginContainer método são removidos da pilha. Da mesma forma, ao chamar o Restore método, todos os blocos de informação colocados na pilha (pelo Save método ou pelo BeginContainer método) após a chamada correspondente ao Save método são removidos da pilha.
O estado gráfico estabelecido pelo BeginContainer método inclui as qualidades de renderização do estado gráfico padrão; quaisquer alterações de qualidade de renderização existentes quando o método é chamado são reiniciadas para os valores padrão.
Aplica-se a
BeginContainer(Rectangle, Rectangle, GraphicsUnit)
Guarda um contentor gráfico com o estado Graphics atual deste e abre e usa um novo contentor gráfico com a transformação 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 estrutura que, juntamente com o srcrect parâmetro, especifica uma transformação de escala para o contentor.
- srcrect
- Rectangle
Rectangle estrutura que, juntamente com o dstrect parâmetro, especifica uma transformação de escala para o contentor.
- unit
- GraphicsUnit
Membro da GraphicsUnit enumeração que especifica a unidade de medida para o recipiente.
Devoluções
Este método devolve a GraphicsContainer que representa o estado deste Graphics no momento da chamada ao método.
Exemplos
O seguinte exemplo de código foi concebido para uso com Windows Forms e requer PaintEventArgse, que é um parâmetro do tratador de eventos Paint. O código executa as seguintes ações:
Cria dois retângulos para especificar uma transformação de escala para o novo contentor.
Abre o novo contentor gráfico e guarda o contentor antigo.
Preenche um retângulo vermelho nas coordenadas escaladas do novo recipiente.
Fecha o novo contentor e restaura o contentor guardado.
Preenche um retângulo verde (às coordenadas não escaladas) do contentor guardado.
O resultado é um retângulo verde que sobrepõe-se a um retângulo vermelho mais pequeno.
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
Observações
Use este método juntamente com o EndContainer método para criar contentores gráficos aninhados. Os contentores gráficos mantêm o estado gráfico, como transformação, região de clipping e propriedades de renderização.
Quando se chama o BeginContainer método de um Graphics, um bloco de informação que detém o estado de Graphics é colocado numa pilha. O BeginContainer método devolve um GraphicsContainer que identifica esse bloco de informação. Quando passa o objeto identificador ao EndContainer método, o bloco de informação é removido da pilha e é usado para restaurar o Graphics objeto ao estado em que estava no momento da BeginContainer chamada ao método.
Os contentores podem ser aninhados; ou seja, pode chamar o BeginContainer método várias vezes antes de chamar o EndContainer método. Cada vez que chamas o BeginContainer método, um bloco de informação é colocado na pilha, e recebes um GraphicsContainer para o bloco de informação. Quando passa um desses objetos ao EndContainer método, o Graphics é devolvido ao estado em que estava no momento da BeginContainer chamada ao método que devolveu aquele .GraphicsContainer O bloco de informação colocado na pilha por essa BeginContainer chamada de método é removido da pilha, e todos os blocos de informação colocados nessa pilha após essa BeginContainer chamada de método também são removidos.
As chamadas ao Save método colocam blocos de informação na mesma pilha que as chamadas ao BeginContainer método. Tal como uma EndContainer chamada de método é emparelhada com uma BeginContainer chamada de método, uma Restore chamada de método é emparelhada com uma Save chamada de método.
Quando chama o EndContainer método, todos os blocos de informação colocados na pilha (pelo Save método ou pelo método BeginContainer ) após a chamada correspondente ao BeginContainer método são removidos da pilha. Da mesma forma, ao chamar o Restore método, todos os blocos de informação colocados na pilha (pelo Save método ou pelo BeginContainer método) após a chamada correspondente ao Save método são removidos da pilha.
Este método especifica uma transformação de escala para o novo contentor gráfico com os dstrect parâmetros e.srcrect A escala é igual à transformação que, quando aplicada a srcrect, resulta em dstrect.
O estado gráfico estabelecido pelo BeginContainer método inclui as qualidades de renderização do estado gráfico padrão; quaisquer alterações de qualidade de renderização existentes quando o método é chamado são reiniciadas para os valores padrão.
Aplica-se a
BeginContainer(RectangleF, RectangleF, GraphicsUnit)
Guarda um contentor gráfico com o estado Graphics atual deste e abre e usa um novo contentor gráfico com a transformação 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 estrutura que, juntamente com o srcrect parâmetro, especifica uma transformação de escala para o novo contentor gráfico.
- srcrect
- RectangleF
RectangleF estrutura que, juntamente com o dstrect parâmetro, especifica uma transformação de escala para o novo contentor gráfico.
- unit
- GraphicsUnit
Membro da GraphicsUnit enumeração que especifica a unidade de medida para o recipiente.
Devoluções
Este método devolve a GraphicsContainer que representa o estado deste Graphics no momento da chamada ao método.
Exemplos
O seguinte exemplo de código foi concebido para uso com Windows Forms e requer PaintEventArgse, que é um parâmetro do tratador de eventos Paint. O código executa as seguintes ações:
Cria dois retângulos para especificar uma transformação de escala para o novo contentor.
Abre o novo contentor gráfico e guarda o contentor antigo.
Preenche um retângulo vermelho nas coordenadas escaladas do novo recipiente.
Fecha o novo contentor e restaura o contentor guardado.
Preenche um retângulo verde (às coordenadas não escaladas) do contentor guardado.
O resultado é um retângulo verde que sobrepõe-se a um retângulo vermelho mais pequeno.
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
Observações
Use este método juntamente com o EndContainer método para criar contentores gráficos aninhados. Os contentores gráficos mantêm o estado gráfico, como transformação, região de clipping e propriedades de renderização.
Quando se chama o BeginContainer método de um Graphics, um bloco de informação que detém o estado de Graphics é colocado numa pilha. O BeginContainer método devolve um GraphicsContainer que identifica esse bloco de informação. Quando passa o objeto identificador ao EndContainer método, o bloco de informação é removido da pilha e é usado para restaurar o Graphics objeto ao estado em que estava no momento da BeginContainer chamada ao método.
Os contentores podem ser aninhados; ou seja, pode chamar o BeginContainer método várias vezes antes de chamar o EndContainer método. Cada vez que chamas o BeginContainer método, um bloco de informação é colocado na pilha, e recebes um GraphicsContainer para o bloco de informação. Quando passa um desses objetos ao EndContainer método, o Graphics é devolvido ao estado em que estava no momento da BeginContainer chamada ao método que devolveu aquele .GraphicsContainer O bloco de informação colocado na pilha por essa BeginContainer chamada de método é removido da pilha, e todos os blocos de informação colocados nessa pilha após essa BeginContainer chamada de método também são removidos.
As chamadas ao Save método colocam blocos de informação na mesma pilha que as chamadas ao BeginContainer método. Tal como uma EndContainer chamada de método é emparelhada com uma BeginContainer chamada de método, uma Restore chamada de método é emparelhada com uma Save chamada de método.
Quando chama o EndContainer método, todos os blocos de informação colocados na pilha (pelo Save método ou pelo método BeginContainer ) após a chamada correspondente ao BeginContainer método são removidos da pilha. Da mesma forma, ao chamar o Restore método, todos os blocos de informação colocados na pilha (pelo Save método ou pelo BeginContainer método) após a chamada correspondente ao Save método são removidos da pilha.
Este método especifica uma transformação de escala para o novo contentor gráfico com os dstrect parâmetros e.srcrect A escala é igual à transformação que, quando aplicada a srcrect, resulta em dstrect.
O estado gráfico estabelecido pelo BeginContainer método inclui as qualidades de renderização do estado gráfico padrão; quaisquer alterações de qualidade de renderização existentes quando o método é chamado são reiniciadas para os valores padrão.