Graphics.BeginContainer Metoda

Definice

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

Přetížení

Name Description
BeginContainer()

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

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

Uloží grafický kontejner s aktuálním stavem a Graphics 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 a Graphics otevře a použije nový grafický kontejner se zadanou transformací škálování.

BeginContainer()

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

Uloží grafický kontejner s aktuálním stavem a Graphics 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 model 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í.

Když zavoláte metodu BeginContainerGraphics, informační blok, který obsahuje stav Graphics je vložen do zásobníku. Metoda BeginContainer vrátí chybu GraphicsContainer , která identifikuje tento informační blok. Když předáte identifikační objekt metodě EndContainer , informační blok se odebere ze zásobníku a slouží k obnovení Graphics stavu, ve který byl v době BeginContainer volání metody.

Kontejnery lze vnořit; to znamená, že metodu BeginContainer můžete volat několikrát předtím, než metodu EndContainer zavoláte. Pokaždé, když zavoláte metodu BeginContainer , se do zásobníku vloží informační blok a obdržíte GraphicsContainer blok informací. 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 tento konkrétní GraphicsContainer. Blok informací umístěný do zásobníku voláním BeginContainer této metody se odebere ze zásobníku a odeberou se také všechny informační bloky umístěné na daném BeginContainer zásobníku po volání metody.

Volání metody Save umístí informační bloky do stejného zásobníku jako volání metody BeginContainer . Stejně jako volání EndContainer 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 (metodou Save nebo BeginContainer metodou) po odpovídajícím volání BeginContainer metody odebrány ze zásobníku. Podobně při volání Restore metody jsou všechny informační bloky umístěné v zásobníku (metodou Save nebo BeginContainer metodou) po odpovídajícím volání Save metody odebrány ze zásobníku.

Grafický stav vytvořený BeginContainer metodou zahrnuje vykreslovací vlastnosti výchozího grafického stavu; všechny změny stavu kvality vykreslování existující při zavolání metody se resetují na výchozí hodnoty.

Platí pro

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

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

Uloží grafický kontejner s aktuálním stavem a Graphics 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 strukturou, která společně s parametrem srcrect určuje transformaci škálování kontejneru.

srcrect
Rectangle

Rectangle strukturou, 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 tohoto Graphics v době volání metody.

Příklady

Následující příklad kódu je určený pro použití s model 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í.

Když zavoláte metodu BeginContainerGraphics, informační blok, který obsahuje stav Graphics je vložen do zásobníku. Metoda BeginContainer vrátí chybu GraphicsContainer , která identifikuje tento informační blok. Když předáte identifikační objekt metodě EndContainer , informační blok se odebere ze zásobníku a slouží k obnovení Graphics stavu, ve který byl v době BeginContainer volání metody.

Kontejnery lze vnořit; to znamená, že metodu BeginContainer můžete volat několikrát předtím, než metodu EndContainer zavoláte. Pokaždé, když zavoláte metodu BeginContainer , se do zásobníku vloží informační blok a obdržíte GraphicsContainer blok informací. 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 tento konkrétní GraphicsContainer. Blok informací umístěný do zásobníku voláním BeginContainer této metody se odebere ze zásobníku a odeberou se také všechny informační bloky umístěné na daném BeginContainer zásobníku po volání metody.

Volání metody Save umístí informační bloky do stejného zásobníku jako volání metody BeginContainer . Stejně jako volání EndContainer 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 (metodou Save nebo BeginContainer metodou) po odpovídajícím volání BeginContainer metody odebrány ze zásobníku. Podobně při volání Restore metody jsou všechny informační bloky umístěné v zásobníku (metodou Save nebo BeginContainer metodou) po odpovídajícím volání Save metody odebrány ze zásobníku.

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

Grafický stav vytvořený BeginContainer metodou zahrnuje vykreslovací vlastnosti výchozího grafického stavu; všechny změny stavu kvality vykreslování existující při zavolání metody se resetují na výchozí hodnoty.

Platí pro

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

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

Uloží grafický kontejner s aktuálním stavem a Graphics 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 struktury, která společně s parametrem srcrect určuje transformaci měřítka pro nový grafický kontejner.

srcrect
RectangleF

RectangleF struktury, která společně s parametrem dstrect určuje transformaci měřítka pro nový grafický kontejner.

unit
GraphicsUnit

Člen výčtu GraphicsUnit , který určuje měrnou jednotku 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 model 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í.

Když zavoláte metodu BeginContainerGraphics, informační blok, který obsahuje stav Graphics je vložen do zásobníku. Metoda BeginContainer vrátí chybu GraphicsContainer , která identifikuje tento informační blok. Když předáte identifikační objekt metodě EndContainer , informační blok se odebere ze zásobníku a slouží k obnovení Graphics stavu, ve který byl v době BeginContainer volání metody.

Kontejnery lze vnořit; to znamená, že metodu BeginContainer můžete volat několikrát předtím, než metodu EndContainer zavoláte. Pokaždé, když zavoláte metodu BeginContainer , se do zásobníku vloží informační blok a obdržíte GraphicsContainer blok informací. 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 tento konkrétní GraphicsContainer. Blok informací umístěný do zásobníku voláním BeginContainer této metody se odebere ze zásobníku a odeberou se také všechny informační bloky umístěné na daném BeginContainer zásobníku po volání metody.

Volání metody Save umístí informační bloky do stejného zásobníku jako volání metody BeginContainer . Stejně jako volání EndContainer 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 (metodou Save nebo BeginContainer metodou) po odpovídajícím volání BeginContainer metody odebrány ze zásobníku. Podobně při volání Restore metody jsou všechny informační bloky umístěné v zásobníku (metodou Save nebo BeginContainer metodou) po odpovídajícím volání Save metody odebrány ze zásobníku.

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

Grafický stav vytvořený BeginContainer metodou zahrnuje vykreslovací vlastnosti výchozího grafického stavu; všechny změny stavu kvality vykreslování existující při zavolání metody se resetují na výchozí hodnoty.

Platí pro