Graphics.EndContainer(GraphicsContainer) Yöntem

Tanım

Geçerli grafik kapsayıcısını kapatır ve bunun Graphics durumunu yöntemine yapılan bir çağrı BeginContainer() tarafından kaydedilen duruma geri yükler.

public:
 void EndContainer(System::Drawing::Drawing2D::GraphicsContainer ^ container);
public void EndContainer(System.Drawing.Drawing2D.GraphicsContainer container);
member this.EndContainer : System.Drawing.Drawing2D.GraphicsContainer -> unit
Public Sub EndContainer (container As GraphicsContainer)

Parametreler

container
GraphicsContainer

GraphicsContainer bu yöntemin geri yüklediğini kapsayıcıyı temsil eder.

Örnekler

Aşağıdaki kod örneği Windows Forms ile kullanılmak üzere tasarlanmıştır ve PaintEventArgs olay işleyicisinin bir parametresi olan ePaint gerektirir. Kod aşağıdaki eylemleri gerçekleştirir:

  • Yeni bir grafik kapsayıcısı açar ve eski kapsayıcıyı kaydeder.

  • Kapsayıcıdaki dünya koordinatlarını çevirir.

  • Yeni kapsayıcıda (çevrilmiş koordinatları) kırmızı bir dikdörtgen doldurur.

  • Yeni kapsayıcıyı kapatır ve kaydedilen kapsayıcıyı geri yükler.

  • Kaydedilen kapsayıcının yeşil bir dikdörtgenini (çevrilmemiş koordinatlara) doldurur.

Sonuç, aynı boyuttaki kırmızı dikdörtgeni aşan yeşil bir dikdörtgendir.

public:
   void EndContainerState( 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 );
   }
public void EndContainerState(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);
}
Public Sub EndContainerState(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

Açıklamalar

İç içe grafik kapsayıcıları oluşturmak için yöntemiyle BeginContainer bu yöntemi kullanın. Grafik kapsayıcıları dönüştürme, kırpma bölgesi ve işleme özellikleri gibi grafik durumunu korur.

yöntemini çağırdığınızda BeginContainer , öğesinin Graphicsdurumunu Graphics tutan bir bilgi bloğu bir yığına konur. yöntemi, BeginContainer bu bilgi bloğunu tanımlayan bir GraphicsContainer döndürür. Tanımlayıcı nesneyi yöntemine EndContainer geçirdiğinizde, bilgi bloğu yığından kaldırılır ve yöntemi çağrısı sırasında Graphics olduğu duruma geri yüklemek BeginContainer için kullanılır.

Kapsayıcılar iç içe olabilir; diğer bir ifadeyle BeginContainer , yöntemini çağırmadan önce yöntemini birkaç kez çağırabilirsiniz EndContainer . yöntemini her çağırdığınızda BeginContainer , yığına bir bilgi bloğu eklenir ve bilgi bloğu için bir GraphicsContainer alırsınız. Bu nesnelerden birini yöntemine EndContainer geçirdiğinizde, Graphics yöntemi çağrısının BeginContainerdöndürdüğünüz zaman GraphicsContainer içinde olduğu duruma döndürülür. Bu yöntem çağrısı tarafından BeginContainer yığına yerleştirilen bilgi bloğu yığından kaldırılır ve bu yöntem çağrısından sonra BeginContainer bu yığına yerleştirilen tüm bilgi blokları da kaldırılır.

yöntemine yapılan Save çağrılar, yöntem çağrıları ile aynı yığına bilgi blokları BeginContainer yerleştirir. Yöntem çağrısının EndContainer yöntem BeginContainer çağrısıyla eşlendiği gibi, yöntem Restore çağrısı da yöntem Save çağrısıyla eşleştirilir.

yöntemini çağırdığınızdaEndContainer, yönteme karşılık gelen çağrıdan Save sonra yığına yerleştirilen tüm bilgi blokları (BeginContaineryöntemi veya yöntemi tarafındanBeginContainer) yığından kaldırılır. Benzer şekilde, yöntemini çağırdığınızdaRestore, yönteme karşılık gelen çağrıdan Save sonra yığına yerleştirilen tüm bilgi blokları (BeginContaineryöntem veya yöntem tarafındanSave) yığından kaldırılır.

Şunlara uygulanır