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 olay işleyicisinin Paint bir parametresi olan gerektirir.PaintEventArgse 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 GraphicsçağırdığınızdaBeginContainer, durumunu tutan Graphics 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 öğesini yöntem çağrısı sırasındaki BeginContainer durumuna geri yüklemek Graphics için kullanılır.

Kapsayıcılar iç içe yerleştirilebilir; 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. Yöntemine EndContainer bu nesnelerden birini geçirdiğinizde, Graphics yöntemi çağrısı sırasında içinde olduğu BeginContainer duruma döndürülür ve bu belirli GraphicsContaineröğesini döndürü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 yöntem BeginContainer çağrısıyla eşlendiği gibiEndContainer, yöntem Restore çağrısı da yöntem Save çağrısıyla eşleştirilir.

yöntemini çağırdığınızda, yönteme EndContainer karşılık gelen çağrıdan BeginContainer sonra yığına yerleştirilen tüm bilgi blokları (Saveyö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ı (Saveyöntemi veya BeginContainer yöntemi tarafından) yığından kaldırılır.

Şunlara uygulanır