Graphics.BeginContainer Metoda

Definice

Uloží grafický kontejner s aktuálním stavem a Graphics otevře se a použije nový grafický kontejner.

Přetížení

BeginContainer()

Uloží grafický kontejner s aktuálním stavem a Graphics otevře se a použije nový grafický kontejner.

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

Uloží grafický kontejner s aktuálním stavem a Graphics otevře se a použije nový kontejner grafiky se zadanou transformací měřítka.

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

Uloží grafický kontejner s aktuálním stavem a Graphics otevře se a použije nový kontejner grafiky se zadanou transformací měřítka.

BeginContainer()

Zdroj:
Graphics.cs
Zdroj:
Graphics.cs
Zdroj:
Graphics.cs

Uloží grafický kontejner s aktuálním stavem a Graphics otevře se a použije nový grafický kontejner.

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

Návraty

Tato metoda vrátí , GraphicsContainer který představuje stav v Graphics době volání metody.

Příklady

Následující příklad kódu je navržený pro použití s model Windows Forms a vyžaduje PaintEventArgse, což je parametr obslužné rutiny Paint události. Kód provede následující akce:

  • Otevře nový kontejner grafiky a uloží starý kontejner.

  • Přeloží souřadnice světa v kontejneru.

  • Vyplní červený obdélník v novém kontejneru (přeložené souřadnice).

  • Zavře nový kontejner a obnoví uložený kontejner.

  • Vyplní zelený obdélník (podle nepřelovaných souřadnic) uloženého kontejneru.

Výsledkem je zelený obdélník, který překlenuje červený obdélník stejné velikosti.

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

Poznámky

Tuto metodu použijte spolu s metodou EndContainer k vytvoření vnořených grafických kontejnerů. Grafické kontejnery zachovají grafický stav, například transformaci, oblast oříznutí a vlastnosti vykreslování.

Při volání BeginContainer metody objektu Graphicsje informační blok, který obsahuje stav objektu Graphics , umístěn do zásobníku. Metoda BeginContainer vrátí objekt , GraphicsContainer který identifikuje daný informační blok. Když předáte identifikující objekt metodě EndContainer , informační blok se odebere ze zásobníku a použije se k obnovení Graphics do stavu, ve který byl v době BeginContainer volání metody.

Kontejnery mohou být vnořené. To znamená, že můžete volat metodu BeginContainer několikrát před voláním EndContainer metody . Pokaždé, když zavoláte metodu BeginContainer , informační blok je umístěn do zásobníku a obdržíte GraphicsContainer pro informační blok. Když předáte jeden z těchto objektů metodě EndContainer , vrátí se do stavu, Graphics ve který byl v době BeginContainer volání metody, která vrátila konkrétní GraphicsContainer. Informační blok umístěný do zásobníku voláním BeginContainer metody je odebrán ze zásobníku a všechny informační bloky umístěné v zásobníku po BeginContainer volání metody jsou také odebrány.

Volání Save metody umístí informační bloky do stejného zásobníku BeginContainer jako volání metody . Stejně jako EndContainer volání metody je spárováno s voláním BeginContainer metody, Restore volání metody je spárováno s voláním Save metody.

Při volání EndContainer metody jsou všechny informační bloky umístěné v zásobníku Save (metodou nebo metodou BeginContainer ) po odpovídajícím volání BeginContainer metody odebrány ze zásobníku. Podobně při volání Restore metody jsou ze zásobníku odebrány všechny informační bloky umístěné v zásobníku Save (metodou nebo metodou BeginContainer ) po odpovídajícím volání Save metody.

Stav grafiky stanovený metodou BeginContainer zahrnuje vlastnosti vykreslování výchozího stavu grafiky. Všechny změny stavu kvality vykreslování existující při zavolání metody se obnoví na výchozí hodnoty.

Platí pro

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

Zdroj:
Graphics.cs
Zdroj:
Graphics.cs
Zdroj:
Graphics.cs

Uloží grafický kontejner s aktuálním stavem a Graphics otevře se a použije nový kontejner grafiky se zadanou transformací měřítka.

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

Parametry

dstrect
Rectangle

Rectangle , která společně s parametrem srcrect určuje transformaci škálování kontejneru.

srcrect
Rectangle

Rectangle , která společně s parametrem dstrect určuje transformaci škálování kontejneru.

unit
GraphicsUnit

Člen výčtu GraphicsUnit , který určuje měrnou jednotku kontejneru.

Návraty

Tato metoda vrátí , GraphicsContainer který představuje stav v Graphics době volání metody.

Příklady

Následující příklad kódu je navržený pro použití s model Windows Forms a vyžaduje PaintEventArgse, což je parametr obslužné rutiny Paint události. Kód provede následující akce:

  • Vytvoří dva obdélníky pro určení transformace škálování pro nový kontejner.

  • Otevře nový kontejner grafiky a uloží starý kontejner.

  • Vyplní červený obdélník v novém kontejneru (souřadnice s měřítkem).

  • Zavře nový kontejner a obnoví uložený kontejner.

  • Vyplní zelený obdélník (podle souřadnic bez měřítka) uloženého kontejneru.

Výsledkem je zelený obdélník, který je základem menšího červeného obdélníku.

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

Poznámky

Tuto metodu použijte spolu s metodou EndContainer k vytvoření vnořených grafických kontejnerů. Grafické kontejnery zachovají grafický stav, například transformaci, oblast oříznutí a vlastnosti vykreslování.

Při volání BeginContainer metody objektu Graphicsje informační blok, který obsahuje stav objektu Graphics , umístěn do zásobníku. Metoda BeginContainer vrátí objekt , GraphicsContainer který identifikuje daný informační blok. Když předáte identifikující objekt metodě EndContainer , informační blok se odebere ze zásobníku a použije se k obnovení Graphics do stavu, ve který byl v době BeginContainer volání metody.

Kontejnery mohou být vnořené. To znamená, že můžete volat metodu BeginContainer několikrát před voláním EndContainer metody . Pokaždé, když zavoláte metodu BeginContainer , informační blok je umístěn do zásobníku a obdržíte GraphicsContainer pro informační blok. Když předáte jeden z těchto objektů metodě EndContainer , vrátí se do stavu, Graphics ve který byl v době BeginContainer volání metody, která vrátila konkrétní GraphicsContainer. Informační blok umístěný do zásobníku voláním BeginContainer metody je odebrán ze zásobníku a všechny informační bloky umístěné v zásobníku po BeginContainer volání metody jsou také odebrány.

Volání Save metody umístí informační bloky do stejného zásobníku BeginContainer jako volání metody . Stejně jako EndContainer volání metody je spárováno s voláním BeginContainer metody, Restore volání metody je spárováno s voláním Save metody.

Při volání EndContainer metody jsou všechny informační bloky umístěné v zásobníku Save (metodou nebo metodou BeginContainer ) po odpovídajícím volání BeginContainer metody odebrány ze zásobníku. Podobně při volání Restore metody jsou ze zásobníku odebrány všechny informační bloky umístěné v zásobníku Save (metodou nebo metodou BeginContainer ) po odpovídajícím volání Save metody.

Tato metoda určuje transformaci škálování pro nový grafický kontejner s dstrect parametry a srcrect . Měřítko se rovná transformaci, která při použití na srcrectmá za následek dstrect.

Stav grafiky stanovený metodou BeginContainer zahrnuje vlastnosti vykreslování výchozího stavu grafiky. Všechny změny stavu kvality vykreslování existující při zavolání metody se obnoví na výchozí hodnoty.

Platí pro

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

Zdroj:
Graphics.cs
Zdroj:
Graphics.cs
Zdroj:
Graphics.cs

Uloží grafický kontejner s aktuálním stavem a Graphics otevře se a použije nový kontejner grafiky se zadanou transformací měřítka.

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

Parametry

dstrect
RectangleF

RectangleF , která společně s parametrem srcrect určuje transformaci škálování pro nový kontejner graphics.

srcrect
RectangleF

RectangleF , která společně s parametrem dstrect určuje transformaci škálování pro nový kontejner graphics.

unit
GraphicsUnit

Člen výčtu GraphicsUnit , který určuje měrnou jednotku kontejneru.

Návraty

Tato metoda vrátí , GraphicsContainer který představuje stav v Graphics době volání metody.

Příklady

Následující příklad kódu je navržený pro použití s model Windows Forms a vyžaduje PaintEventArgse, což je parametr obslužné rutiny Paint události. Kód provede následující akce:

  • Vytvoří dva obdélníky pro určení transformace škálování pro nový kontejner.

  • Otevře nový kontejner grafiky a uloží starý kontejner.

  • Vyplní červený obdélník v novém kontejneru (souřadnice s měřítkem).

  • Zavře nový kontejner a obnoví uložený kontejner.

  • Vyplní zelený obdélník (podle souřadnic bez měřítka) uloženého kontejneru.

Výsledkem je zelený obdélník, který je základem menšího červeného obdélníku.

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

Poznámky

Tuto metodu použijte spolu s metodou EndContainer k vytvoření vnořených grafických kontejnerů. Grafické kontejnery zachovají grafický stav, například transformaci, oblast oříznutí a vlastnosti vykreslování.

Při volání BeginContainer metody objektu Graphicsje informační blok, který obsahuje stav objektu Graphics , umístěn do zásobníku. Metoda BeginContainer vrátí objekt , GraphicsContainer který identifikuje daný informační blok. Když předáte identifikující objekt metodě EndContainer , informační blok se odebere ze zásobníku a použije se k obnovení Graphics do stavu, ve který byl v době BeginContainer volání metody.

Kontejnery mohou být vnořené. To znamená, že můžete volat metodu BeginContainer několikrát před voláním EndContainer metody . Pokaždé, když zavoláte metodu BeginContainer , informační blok je umístěn do zásobníku a obdržíte GraphicsContainer pro informační blok. Když předáte jeden z těchto objektů metodě EndContainer , vrátí se do stavu, Graphics ve který byl v době BeginContainer volání metody, která vrátila konkrétní GraphicsContainer. Informační blok umístěný do zásobníku voláním BeginContainer metody je odebrán ze zásobníku a všechny informační bloky umístěné v zásobníku po BeginContainer volání metody jsou také odebrány.

Volání Save metody umístí informační bloky do stejného zásobníku BeginContainer jako volání metody . Stejně jako EndContainer volání metody je spárováno s voláním BeginContainer metody, Restore volání metody je spárováno s voláním Save metody.

Při volání EndContainer metody jsou všechny informační bloky umístěné v zásobníku Save (metodou nebo metodou BeginContainer ) po odpovídajícím volání BeginContainer metody odebrány ze zásobníku. Podobně při volání Restore metody jsou ze zásobníku odebrány všechny informační bloky umístěné v zásobníku Save (metodou nebo metodou BeginContainer ) po odpovídajícím volání Save metody.

Tato metoda určuje transformaci škálování pro nový grafický kontejner s dstrect parametry a srcrect . Měřítko se rovná transformaci, která při použití na srcrectmá za následek dstrect.

Stav grafiky stanovený metodou BeginContainer zahrnuje vlastnosti vykreslování výchozího stavu grafiky. Všechny změny stavu kvality vykreslování existující při zavolání metody se obnoví na výchozí hodnoty.

Platí pro