Graphics.BeginContainer Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zapisuje kontener graficzny z bieżącym stanem tego Graphics i otwiera go i używa nowego kontenera grafiki.
Przeciążenia
BeginContainer() |
Zapisuje kontener graficzny z bieżącym stanem tego Graphics i otwiera go i używa nowego kontenera grafiki. |
BeginContainer(Rectangle, Rectangle, GraphicsUnit) |
Zapisuje kontener graficzny z bieżącym stanem tego Graphics i otwiera się i używa nowego kontenera graficznego z określonym przekształceniem skalowania. |
BeginContainer(RectangleF, RectangleF, GraphicsUnit) |
Zapisuje kontener graficzny z bieżącym stanem tego Graphics i otwiera się i używa nowego kontenera graficznego z określonym przekształceniem skalowania. |
BeginContainer()
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Zapisuje kontener graficzny z bieżącym stanem tego Graphics i otwiera go i używa nowego kontenera grafiki.
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
Zwraca
Ta metoda zwraca GraphicsContainer, która reprezentuje stan tego Graphics w momencie wywołania metody.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse
, który jest parametrem programu obsługi zdarzeń Paint. Kod wykonuje następujące akcje:
Otwiera nowy kontener graficzny i zapisuje stary kontener.
Tłumaczy współrzędne świata w kontenerze.
Wypełnia czerwony prostokąt w nowym kontenerze (przetłumaczone współrzędne).
Zamyka nowy kontener i przywraca zapisany kontener.
Wypełnia zielony prostokąt (do nieprzetłumaczonych współrzędnych) zapisanego kontenera.
Wynik jest zielonym prostokątem, który zastępuje czerwony prostokąt o tym samym rozmiarze.
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
Uwagi
Użyj tej metody z metodą EndContainer, aby utworzyć zagnieżdżone kontenery graficzne. Kontenery grafiki zachowują stan grafiki, takie jak przekształcanie, wycinanie regionów i właściwości renderowania.
Podczas wywoływania metody BeginContainerGraphicsblok informacji, który przechowuje stan Graphics jest umieszczany na stosie. Metoda BeginContainer zwraca GraphicsContainer, która identyfikuje ten blok informacji. Po przekazaniu obiektu identyfikującego do metody EndContainer blok informacji zostanie usunięty ze stosu i zostanie użyty do przywrócenia Graphics do stanu, w którym znajdował się w czasie wywołania metody BeginContainer.
Kontenery mogą być zagnieżdżone; oznacza to, że można wywołać metodę BeginContainer kilka razy przed wywołaniem metody EndContainer. Za każdym razem, gdy wywołujesz metodę BeginContainer, blok informacji jest umieszczany na stosie i otrzymujesz GraphicsContainer dla bloku informacji. Po przekazaniu jednego z tych obiektów do metody EndContainerGraphics jest zwracany do stanu, w którym znajdował się w czasie wywołania metody BeginContainer, które zwróciło tę konkretną GraphicsContainer. Blok informacji umieszczony na stosie przez to wywołanie metody BeginContainer jest usuwany ze stosu, a wszystkie bloki informacji umieszczone na tym stosie po tym wywołaniu metody BeginContainer również zostaną usunięte.
Wywołania metody Save umieszczają bloki informacji na tym samym stosie co wywołania metody BeginContainer. Podobnie jak wywołanie metody EndContainer jest sparowane z wywołaniem metody BeginContainer, wywołanie metody Restore jest sparowane z wywołaniem metody Save.
Po wywołaniu metody EndContainer wszystkie bloki informacji umieszczone na stosie (przez metodę Save lub metodę BeginContainer) po wywołaniu metody BeginContainer zostaną usunięte ze stosu. Podobnie, po wywołaniu metody Restore wszystkie bloki informacji umieszczone na stosie (przez metodę Save lub metodę BeginContainer) po odpowiednim wywołaniu metody Save zostaną usunięte ze stosu.
Stan grafiki ustanowiony przez metodę BeginContainer zawiera cechy renderowania domyślnego stanu grafiki; wszelkie zmiany stanu jakości renderowania istniejące po wywołaniu metody są resetowane do wartości domyślnych.
Dotyczy
BeginContainer(Rectangle, Rectangle, GraphicsUnit)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Zapisuje kontener graficzny z bieżącym stanem tego Graphics i otwiera się i używa nowego kontenera graficznego z określonym przekształceniem skalowania.
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 strukturę, która wraz z parametrem srcrect
określa przekształcenie skali dla kontenera.
- srcrect
- Rectangle
Rectangle strukturę, która wraz z parametrem dstrect
określa przekształcenie skali dla kontenera.
- unit
- GraphicsUnit
Element członkowski GraphicsUnit wyliczenia, który określa jednostkę miary dla kontenera.
Zwraca
Ta metoda zwraca GraphicsContainer, która reprezentuje stan tego Graphics w momencie wywołania metody.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse
, który jest parametrem programu obsługi zdarzeń Paint. Kod wykonuje następujące akcje:
Tworzy dwa prostokąty, aby określić przekształcenie skali dla nowego kontenera.
Otwiera nowy kontener graficzny i zapisuje stary kontener.
Wypełnia czerwony prostokąt w (skalowanych współrzędnych) nowego kontenera.
Zamyka nowy kontener i przywraca zapisany kontener.
Wypełnia zielony prostokąt (do współrzędnych nieskalowanych) zapisanego kontenera.
Wynikiem jest zielony prostokąt, który zastępuje mniejszy czerwony prostokąt.
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
Uwagi
Użyj tej metody z metodą EndContainer, aby utworzyć zagnieżdżone kontenery graficzne. Kontenery grafiki zachowują stan grafiki, takie jak przekształcanie, wycinanie regionów i właściwości renderowania.
Podczas wywoływania metody BeginContainerGraphicsblok informacji, który przechowuje stan Graphics jest umieszczany na stosie. Metoda BeginContainer zwraca GraphicsContainer, która identyfikuje ten blok informacji. Po przekazaniu obiektu identyfikującego do metody EndContainer blok informacji zostanie usunięty ze stosu i zostanie użyty do przywrócenia Graphics do stanu, w którym znajdował się w czasie wywołania metody BeginContainer.
Kontenery mogą być zagnieżdżone; oznacza to, że można wywołać metodę BeginContainer kilka razy przed wywołaniem metody EndContainer. Za każdym razem, gdy wywołujesz metodę BeginContainer, blok informacji jest umieszczany na stosie i otrzymujesz GraphicsContainer dla bloku informacji. Po przekazaniu jednego z tych obiektów do metody EndContainerGraphics jest zwracany do stanu, w którym znajdował się w czasie wywołania metody BeginContainer, które zwróciło tę konkretną GraphicsContainer. Blok informacji umieszczony na stosie przez to wywołanie metody BeginContainer jest usuwany ze stosu, a wszystkie bloki informacji umieszczone na tym stosie po tym wywołaniu metody BeginContainer również zostaną usunięte.
Wywołania metody Save umieszczają bloki informacji na tym samym stosie co wywołania metody BeginContainer. Podobnie jak wywołanie metody EndContainer jest sparowane z wywołaniem metody BeginContainer, wywołanie metody Restore jest sparowane z wywołaniem metody Save.
Po wywołaniu metody EndContainer wszystkie bloki informacji umieszczone na stosie (przez metodę Save lub metodę BeginContainer) po wywołaniu metody BeginContainer zostaną usunięte ze stosu. Podobnie, po wywołaniu metody Restore wszystkie bloki informacji umieszczone na stosie (przez metodę Save lub metodę BeginContainer) po odpowiednim wywołaniu metody Save zostaną usunięte ze stosu.
Ta metoda określa przekształcenie skali dla nowego kontenera grafiki z parametrami dstrect
i srcrect
. Skala jest równa przekształceniu, które po zastosowaniu do srcrect
powoduje dstrect
.
Stan grafiki ustanowiony przez metodę BeginContainer zawiera cechy renderowania domyślnego stanu grafiki; wszelkie zmiany stanu jakości renderowania istniejące po wywołaniu metody są resetowane do wartości domyślnych.
Dotyczy
BeginContainer(RectangleF, RectangleF, GraphicsUnit)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Zapisuje kontener graficzny z bieżącym stanem tego Graphics i otwiera się i używa nowego kontenera graficznego z określonym przekształceniem skalowania.
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 strukturę, która wraz z parametrem srcrect
określa przekształcenie skali dla nowego kontenera grafiki.
- srcrect
- RectangleF
RectangleF strukturę, która wraz z parametrem dstrect
określa przekształcenie skali dla nowego kontenera grafiki.
- unit
- GraphicsUnit
Element członkowski GraphicsUnit wyliczenia, który określa jednostkę miary dla kontenera.
Zwraca
Ta metoda zwraca GraphicsContainer, która reprezentuje stan tego Graphics w momencie wywołania metody.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse
, który jest parametrem programu obsługi zdarzeń Paint. Kod wykonuje następujące akcje:
Tworzy dwa prostokąty, aby określić przekształcenie skali dla nowego kontenera.
Otwiera nowy kontener graficzny i zapisuje stary kontener.
Wypełnia czerwony prostokąt w (skalowanych współrzędnych) nowego kontenera.
Zamyka nowy kontener i przywraca zapisany kontener.
Wypełnia zielony prostokąt (do współrzędnych nieskalowanych) zapisanego kontenera.
Wynikiem jest zielony prostokąt, który zastępuje mniejszy czerwony prostokąt.
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
Uwagi
Użyj tej metody z metodą EndContainer, aby utworzyć zagnieżdżone kontenery graficzne. Kontenery grafiki zachowują stan grafiki, takie jak przekształcanie, wycinanie regionów i właściwości renderowania.
Podczas wywoływania metody BeginContainerGraphicsblok informacji, który przechowuje stan Graphics jest umieszczany na stosie. Metoda BeginContainer zwraca GraphicsContainer, która identyfikuje ten blok informacji. Po przekazaniu obiektu identyfikującego do metody EndContainer blok informacji zostanie usunięty ze stosu i zostanie użyty do przywrócenia Graphics do stanu, w którym znajdował się w czasie wywołania metody BeginContainer.
Kontenery mogą być zagnieżdżone; oznacza to, że można wywołać metodę BeginContainer kilka razy przed wywołaniem metody EndContainer. Za każdym razem, gdy wywołujesz metodę BeginContainer, blok informacji jest umieszczany na stosie i otrzymujesz GraphicsContainer dla bloku informacji. Po przekazaniu jednego z tych obiektów do metody EndContainerGraphics jest zwracany do stanu, w którym znajdował się w czasie wywołania metody BeginContainer, które zwróciło tę konkretną GraphicsContainer. Blok informacji umieszczony na stosie przez to wywołanie metody BeginContainer jest usuwany ze stosu, a wszystkie bloki informacji umieszczone na tym stosie po tym wywołaniu metody BeginContainer również zostaną usunięte.
Wywołania metody Save umieszczają bloki informacji na tym samym stosie co wywołania metody BeginContainer. Podobnie jak wywołanie metody EndContainer jest sparowane z wywołaniem metody BeginContainer, wywołanie metody Restore jest sparowane z wywołaniem metody Save.
Po wywołaniu metody EndContainer wszystkie bloki informacji umieszczone na stosie (przez metodę Save
lub metodę BeginContainer) po wywołaniu metody BeginContainer zostaną usunięte ze stosu. Podobnie, po wywołaniu metody Restore wszystkie bloki informacji umieszczone na stosie (przez metodę Save lub metodę BeginContainer) po odpowiednim wywołaniu metody Save zostaną usunięte ze stosu.
Ta metoda określa przekształcenie skali dla nowego kontenera grafiki z parametrami dstrect
i srcrect
. Skala jest równa przekształceniu, które po zastosowaniu do srcrect
powoduje dstrect
.
Stan grafiki ustanowiony przez metodę BeginContainer zawiera cechy renderowania domyślnego stanu grafiki; wszelkie zmiany stanu jakości renderowania istniejące po wywołaniu metody są resetowane do wartości domyślnych.