Sdílet prostřednictvím


Graphics.BeginContainer Metoda

Definice

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

Přetížení

BeginContainer()

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

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

Uloží grafický kontejner s aktuálním stavem tohoto Graphics a otevře a použije nový grafický kontejner se zadanou transformací škálování.

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

Uloží grafický kontejner s aktuálním stavem tohoto Graphics a otevře a použije nový grafický kontejner se zadanou transformací škálování.

BeginContainer()

Zdroj:
Graphics.cs
Zdroj:
Graphics.cs

Uloží grafický kontejner s aktuálním stavem tohoto Graphics a otevře 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 tohoto Graphics v době volání metody.

Příklady

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

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

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

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

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

  • Vyplní zelený obdélník (do nepřeložitý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 s metodou EndContainer k vytvoření vnořených grafických kontejnerů. Grafické kontejnery zachovají grafický stav, jako jsou transformace, výřez oblasti a vlastnosti vykreslování.

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

Kontejnery lze vnořit; to znamená, že metodu BeginContainer můžete volat několikrát předtím, než zavoláte metodu EndContainer. Při každém volání metody BeginContainer se do zásobníku vloží informační blok a obdržíte GraphicsContainer bloku informací. Když předáte jeden z těchto objektů do EndContainer metoda, Graphics se vrátí do stavu, ve který byl v době volání metody BeginContainer, která vrátila konkrétní GraphicsContainer. Informační blok umístěný do zásobníku voláním metody BeginContainer je ze zásobníku odebrán a všechny informační bloky umístěné v daném zásobníku po volání metody BeginContainer se také odeberou.

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

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

Grafický stav vytvořený metodou BeginContainer zahrnuje vlastnosti vykreslování výchozího stavu grafiky; Všechny změny stavu kvality vykreslování, které existují, když je volána metoda, se resetují na výchozí hodnoty.

Platí pro

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

Zdroj:
Graphics.cs
Zdroj:
Graphics.cs

Uloží grafický kontejner s aktuálním stavem tohoto Graphics a otevře a použije nový grafický kontejner se zadanou transformací škálování.

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 strukturu, která společně s parametrem srcrect určuje transformaci škálování kontejneru.

srcrect
Rectangle

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

unit
GraphicsUnit

Člen GraphicsUnit výčtu, který určuje jednotku míry kontejneru.

Návraty

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

Příklady

Následující příklad kódu je určený pro použití s Windows Forms a vyžaduje PaintEventArgse, což je parametr obslužné rutiny události Paint. 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ý grafický kontejner a uloží starý kontejner.

  • Vyplní červený obdélník do nového kontejneru (souřadnice se škálováním).

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

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

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

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 s metodou EndContainer k vytvoření vnořených grafických kontejnerů. Grafické kontejnery zachovají grafický stav, jako jsou transformace, výřez oblasti a vlastnosti vykreslování.

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

Kontejnery lze vnořit; to znamená, že metodu BeginContainer můžete volat několikrát předtím, než zavoláte metodu EndContainer. Při každém volání metody BeginContainer se do zásobníku vloží informační blok a obdržíte GraphicsContainer bloku informací. Když předáte jeden z těchto objektů do EndContainer metoda, Graphics se vrátí do stavu, ve který byl v době volání metody BeginContainer, která vrátila konkrétní GraphicsContainer. Informační blok umístěný do zásobníku voláním metody BeginContainer je ze zásobníku odebrán a všechny informační bloky umístěné v daném zásobníku po volání metody BeginContainer se také odeberou.

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

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

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

Grafický stav vytvořený metodou BeginContainer zahrnuje vlastnosti vykreslování výchozího stavu grafiky; Všechny změny stavu kvality vykreslování, které existují, když je volána metoda, se resetují na výchozí hodnoty.

Platí pro

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

Zdroj:
Graphics.cs
Zdroj:
Graphics.cs

Uloží grafický kontejner s aktuálním stavem tohoto Graphics a otevře a použije nový grafický kontejner se zadanou transformací škálování.

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 strukturu, která společně s parametrem srcrect určuje transformaci škálování pro nový grafický kontejner.

srcrect
RectangleF

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

unit
GraphicsUnit

Člen GraphicsUnit výčtu, který určuje jednotku míry kontejneru.

Návraty

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

Příklady

Následující příklad kódu je určený pro použití s Windows Forms a vyžaduje PaintEventArgse, což je parametr obslužné rutiny události Paint. 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ý grafický kontejner a uloží starý kontejner.

  • Vyplní červený obdélník do nového kontejneru (souřadnice se škálováním).

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

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

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

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 s metodou EndContainer k vytvoření vnořených grafických kontejnerů. Grafické kontejnery zachovají grafický stav, jako jsou transformace, výřez oblasti a vlastnosti vykreslování.

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

Kontejnery lze vnořit; to znamená, že metodu BeginContainer můžete volat několikrát předtím, než zavoláte metodu EndContainer. Při každém volání metody BeginContainer se do zásobníku vloží informační blok a obdržíte GraphicsContainer bloku informací. Když předáte jeden z těchto objektů do EndContainer metoda, Graphics se vrátí do stavu, ve který byl v době volání metody BeginContainer, která vrátila konkrétní GraphicsContainer. Informační blok umístěný do zásobníku voláním metody BeginContainer je ze zásobníku odebrán a všechny informační bloky umístěné v daném zásobníku po volání metody BeginContainer se také odeberou.

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

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

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

Grafický stav vytvořený metodou BeginContainer zahrnuje vlastnosti vykreslování výchozího stavu grafiky; Všechny změny stavu kvality vykreslování, které existují, když je volána metoda, se resetují na výchozí hodnoty.

Platí pro