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 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.