Graphics.BeginContainer Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 srcrect
má 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 srcrect
má 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.