Graphics.BeginContainer Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyimpan kontainer grafis dengan status saat ini dari Graphics ini dan membuka dan menggunakan kontainer grafis baru.
Overload
BeginContainer() |
Menyimpan kontainer grafis dengan status saat ini dari Graphics ini dan membuka dan menggunakan kontainer grafis baru. |
BeginContainer(Rectangle, Rectangle, GraphicsUnit) |
Menyimpan kontainer grafis dengan status saat ini dari Graphics ini dan membuka dan menggunakan kontainer grafis baru dengan transformasi skala yang ditentukan. |
BeginContainer(RectangleF, RectangleF, GraphicsUnit) |
Menyimpan kontainer grafis dengan status saat ini dari Graphics ini dan membuka dan menggunakan kontainer grafis baru dengan transformasi skala yang ditentukan. |
BeginContainer()
- Sumber:
- Graphics.cs
- Sumber:
- Graphics.cs
- Sumber:
- Graphics.cs
Menyimpan kontainer grafis dengan status saat ini dari Graphics ini dan membuka dan menggunakan kontainer grafis baru.
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
Mengembalikan
Metode ini mengembalikan GraphicsContainer yang mewakili status Graphics ini pada saat panggilan metode.
Contoh
Contoh kode berikut dirancang untuk digunakan dengan Windows Forms, dan memerlukan PaintEventArgse
, yang merupakan parameter penanganan aktivitas Paint. Kode melakukan tindakan berikut:
Membuka kontainer grafis baru dan menyimpan kontainer lama.
Menerjemahkan koordinat dunia dalam kontainer.
Mengisi persegi panjang merah dalam kontainer baru (koordinat yang diterjemahkan).
Menutup kontainer baru dan memulihkan kontainer yang disimpan.
Mengisi persegi panjang hijau (ke koordinat yang tidak diterjemahkan) dari kontainer yang disimpan.
Hasilnya adalah persegi panjang hijau yang melebihi persegi panjang merah dengan ukuran yang sama.
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
Keterangan
Gunakan metode ini dengan metode EndContainer untuk membuat kontainer grafis berlapis. Kontainer grafis mempertahankan status grafik, seperti transformasi, wilayah kliping, dan properti penyajian.
Ketika Anda memanggil metode BeginContainer dari Graphics, blok informasi yang menyimpan status Graphics diletakkan pada tumpukan. Metode BeginContainer mengembalikan GraphicsContainer yang mengidentifikasi blok informasi tersebut. Ketika Anda meneruskan objek identifikasi ke metode EndContainer, blok informasi dihapus dari tumpukan dan digunakan untuk memulihkan Graphics ke status pada saat panggilan metode BeginContainer.
Kontainer dapat ditumpuk; artinya, Anda dapat memanggil metode BeginContainer beberapa kali sebelum memanggil metode EndContainer. Setiap kali Anda memanggil metode BeginContainer, blok informasi dimasukkan ke tumpukan, dan Anda menerima GraphicsContainer untuk blok informasi. Ketika Anda meneruskan salah satu objek tersebut ke metode EndContainer, Graphics dikembalikan ke status pada saat panggilan metode BeginContainer yang mengembalikan GraphicsContainertertentu. Blok informasi yang ditempatkan pada tumpukan oleh panggilan metode BeginContainer dihapus dari tumpukan, dan semua blok informasi yang ditempatkan pada tumpukan tersebut setelah panggilan metode BeginContainer juga dihapus.
Panggilan ke metode Save menempatkan blok informasi pada tumpukan yang sama dengan panggilan ke metode BeginContainer. Sama seperti panggilan metode EndContainer dipasangkan dengan panggilan metode BeginContainer, panggilan metode Restore dipasangkan dengan panggilan metode Save.
Ketika Anda memanggil metode EndContainer, semua blok informasi yang ditempatkan pada tumpukan (dengan metode Save atau dengan metode BeginContainer) setelah panggilan yang sesuai ke metode BeginContainer dihapus dari tumpukan. Demikian juga, ketika Anda memanggil metode Restore, semua blok informasi yang ditempatkan pada tumpukan (dengan metode Save atau dengan metode BeginContainer) setelah panggilan yang sesuai ke metode Save dihapus dari tumpukan.
Status grafis yang ditetapkan oleh metode BeginContainer mencakup kualitas penyajian status grafis default; setiap perubahan status kualitas penyajian yang ada ketika metode dipanggil diatur ulang ke nilai default.
Berlaku untuk
BeginContainer(Rectangle, Rectangle, GraphicsUnit)
- Sumber:
- Graphics.cs
- Sumber:
- Graphics.cs
- Sumber:
- Graphics.cs
Menyimpan kontainer grafis dengan status saat ini dari Graphics ini dan membuka dan menggunakan kontainer grafis baru dengan transformasi skala yang ditentukan.
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
Parameter
- dstrect
- Rectangle
Rectangle struktur yang, bersama dengan parameter srcrect
, menentukan transformasi skala untuk kontainer.
- srcrect
- Rectangle
Rectangle struktur yang, bersama dengan parameter dstrect
, menentukan transformasi skala untuk kontainer.
- unit
- GraphicsUnit
Anggota enumerasi GraphicsUnit yang menentukan unit pengukuran untuk kontainer.
Mengembalikan
Metode ini mengembalikan GraphicsContainer yang mewakili status Graphics ini pada saat panggilan metode.
Contoh
Contoh kode berikut dirancang untuk digunakan dengan Windows Forms, dan memerlukan PaintEventArgse
, yang merupakan parameter penanganan aktivitas Paint. Kode melakukan tindakan berikut:
Membuat dua persegi panjang untuk menentukan transformasi skala untuk kontainer baru.
Membuka kontainer grafis baru dan menyimpan kontainer lama.
Mengisi persegi panjang merah dalam kontainer baru (koordinat berskala).
Menutup kontainer baru dan memulihkan kontainer yang disimpan.
Mengisi persegi panjang hijau (ke koordinat yang tidak diskalakan) dari kontainer yang disimpan.
Hasilnya adalah persegi panjang hijau yang melebihi persegi panjang merah yang lebih kecil.
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
Keterangan
Gunakan metode ini dengan metode EndContainer untuk membuat kontainer grafis berlapis. Kontainer grafis mempertahankan status grafik, seperti transformasi, wilayah kliping, dan properti penyajian.
Ketika Anda memanggil metode BeginContainer dari Graphics, blok informasi yang menyimpan status Graphics diletakkan pada tumpukan. Metode BeginContainer mengembalikan GraphicsContainer yang mengidentifikasi blok informasi tersebut. Ketika Anda meneruskan objek identifikasi ke metode EndContainer, blok informasi dihapus dari tumpukan dan digunakan untuk memulihkan Graphics ke status pada saat panggilan metode BeginContainer.
Kontainer dapat ditumpuk; artinya, Anda dapat memanggil metode BeginContainer beberapa kali sebelum memanggil metode EndContainer. Setiap kali Anda memanggil metode BeginContainer, blok informasi dimasukkan ke tumpukan, dan Anda menerima GraphicsContainer untuk blok informasi. Ketika Anda meneruskan salah satu objek tersebut ke metode EndContainer, Graphics dikembalikan ke status pada saat panggilan metode BeginContainer yang mengembalikan GraphicsContainertertentu. Blok informasi yang ditempatkan pada tumpukan oleh panggilan metode BeginContainer dihapus dari tumpukan, dan semua blok informasi yang ditempatkan pada tumpukan tersebut setelah panggilan metode BeginContainer juga dihapus.
Panggilan ke metode Save menempatkan blok informasi pada tumpukan yang sama dengan panggilan ke metode BeginContainer. Sama seperti panggilan metode EndContainer dipasangkan dengan panggilan metode BeginContainer, panggilan metode Restore dipasangkan dengan panggilan metode Save.
Ketika Anda memanggil metode EndContainer, semua blok informasi yang ditempatkan pada tumpukan (dengan metode Save atau dengan metode BeginContainer) setelah panggilan yang sesuai ke metode BeginContainer dihapus dari tumpukan. Demikian juga, ketika Anda memanggil metode Restore, semua blok informasi yang ditempatkan pada tumpukan (dengan metode Save atau dengan metode BeginContainer) setelah panggilan yang sesuai ke metode Save dihapus dari tumpukan.
Metode ini menentukan transformasi skala untuk kontainer grafis baru dengan parameter dstrect
dan srcrect
. Skala sama dengan transformasi yang, ketika diterapkan ke srcrect
, menghasilkan dstrect
.
Status grafis yang ditetapkan oleh metode BeginContainer mencakup kualitas penyajian status grafis default; setiap perubahan status kualitas penyajian yang ada ketika metode dipanggil diatur ulang ke nilai default.
Berlaku untuk
BeginContainer(RectangleF, RectangleF, GraphicsUnit)
- Sumber:
- Graphics.cs
- Sumber:
- Graphics.cs
- Sumber:
- Graphics.cs
Menyimpan kontainer grafis dengan status saat ini dari Graphics ini dan membuka dan menggunakan kontainer grafis baru dengan transformasi skala yang ditentukan.
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
Parameter
- dstrect
- RectangleF
RectangleF struktur yang, bersama dengan parameter srcrect
, menentukan transformasi skala untuk kontainer grafis baru.
- srcrect
- RectangleF
RectangleF struktur yang, bersama dengan parameter dstrect
, menentukan transformasi skala untuk kontainer grafis baru.
- unit
- GraphicsUnit
Anggota enumerasi GraphicsUnit yang menentukan unit pengukuran untuk kontainer.
Mengembalikan
Metode ini mengembalikan GraphicsContainer yang mewakili status Graphics ini pada saat panggilan metode.
Contoh
Contoh kode berikut dirancang untuk digunakan dengan Windows Forms, dan memerlukan PaintEventArgse
, yang merupakan parameter penanganan aktivitas Paint. Kode melakukan tindakan berikut:
Membuat dua persegi panjang untuk menentukan transformasi skala untuk kontainer baru.
Membuka kontainer grafis baru dan menyimpan kontainer lama.
Mengisi persegi panjang merah dalam kontainer baru (koordinat berskala).
Menutup kontainer baru dan memulihkan kontainer yang disimpan.
Mengisi persegi panjang hijau (ke koordinat yang tidak diskalakan) dari kontainer yang disimpan.
Hasilnya adalah persegi panjang hijau yang melebihi persegi panjang merah yang lebih kecil.
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
Keterangan
Gunakan metode ini dengan metode EndContainer untuk membuat kontainer grafis berlapis. Kontainer grafis mempertahankan status grafik, seperti transformasi, wilayah kliping, dan properti penyajian.
Ketika Anda memanggil metode BeginContainer dari Graphics, blok informasi yang menyimpan status Graphics diletakkan pada tumpukan. Metode BeginContainer mengembalikan GraphicsContainer yang mengidentifikasi blok informasi tersebut. Ketika Anda meneruskan objek identifikasi ke metode EndContainer, blok informasi dihapus dari tumpukan dan digunakan untuk memulihkan Graphics ke status pada saat panggilan metode BeginContainer.
Kontainer dapat ditumpuk; artinya, Anda dapat memanggil metode BeginContainer beberapa kali sebelum memanggil metode EndContainer. Setiap kali Anda memanggil metode BeginContainer, blok informasi dimasukkan ke tumpukan, dan Anda menerima GraphicsContainer untuk blok informasi. Ketika Anda meneruskan salah satu objek tersebut ke metode EndContainer, Graphics dikembalikan ke status pada saat panggilan metode BeginContainer yang mengembalikan GraphicsContainertertentu. Blok informasi yang ditempatkan pada tumpukan oleh panggilan metode BeginContainer dihapus dari tumpukan, dan semua blok informasi yang ditempatkan pada tumpukan tersebut setelah panggilan metode BeginContainer juga dihapus.
Panggilan ke metode Save menempatkan blok informasi pada tumpukan yang sama dengan panggilan ke metode BeginContainer. Sama seperti panggilan metode EndContainer dipasangkan dengan panggilan metode BeginContainer, panggilan metode Restore dipasangkan dengan panggilan metode Save.
Ketika Anda memanggil metode EndContainer, semua blok informasi yang ditempatkan pada tumpukan (dengan metode Save
atau dengan metode BeginContainer) setelah panggilan yang sesuai ke metode BeginContainer dihapus dari tumpukan. Demikian juga, ketika Anda memanggil metode Restore, semua blok informasi yang ditempatkan pada tumpukan (dengan metode Save atau dengan metode BeginContainer) setelah panggilan yang sesuai ke metode Save dihapus dari tumpukan.
Metode ini menentukan transformasi skala untuk kontainer grafis baru dengan parameter dstrect
dan srcrect
. Skala sama dengan transformasi yang, ketika diterapkan ke srcrect
, menghasilkan dstrect
.
Status grafis yang ditetapkan oleh metode BeginContainer mencakup kualitas penyajian status grafis default; setiap perubahan status kualitas penyajian yang ada ketika metode dipanggil diatur ulang ke nilai default.