Bagikan melalui


Graphics.AddMetafileComment(Byte[]) Metode

Definisi

Menambahkan komentar ke Metafilesaat ini.

public:
 void AddMetafileComment(cli::array <System::Byte> ^ data);
public void AddMetafileComment (byte[] data);
member this.AddMetafileComment : byte[] -> unit
Public Sub AddMetafileComment (data As Byte())

Parameter

data
Byte[]

Array byte yang berisi komentar.

Contoh

Contoh kode berikut dirancang untuk digunakan dengan Windows Forms, dan memerlukan PaintEventArgse, yang merupakan parameter penanganan aktivitas Paint, serta thisForm, Form untuk contohnya. Kode melakukan tindakan berikut:

  • Membuat Graphics sementara untuk membuat metafile dan mendapatkan hdc, handel ke konteks perangkatnya.

  • Membuat metafile baru menggunakan hdc.

  • Membuat Graphics untuk tampilan metafile dari Metafile.

  • Menggambar persegi panjang ke metafile.

  • Menambahkan komentar ke metafile.

  • Membuang Graphics untuk metafile-yang menutup metafile.

  • Membuang metafile.

  • Merilis hdcsementara .

  • Membuang Graphicssementara .

  • Membuat metafile kedua dari file yang dibuat sebelumnya.

  • Menggambar metafile ke layar.

  • Membuang metafile.

private:
   [SecurityPermission(SecurityAction::Demand, Flags = SecurityPermissionFlag::UnmanagedCode)]            
   void AddMetafileCommentBytes( PaintEventArgs^ e )
   {
      // Create temporary Graphics object for metafile
      //  creation and get handle to its device context.
      Graphics^ newGraphics = this->CreateGraphics();
      IntPtr hdc = newGraphics->GetHdc();

      // Create metafile object to record.
      Metafile^ metaFile1 = gcnew Metafile( "SampMeta.emf",hdc );

      // Create graphics object to record metaFile.
      Graphics^ metaGraphics = Graphics::FromImage( metaFile1 );

      // Draw rectangle in metaFile.
      metaGraphics->DrawRectangle( gcnew Pen( Color::Black,5.0f ), 0, 0, 100, 100 );

      // Create comment and add to metaFile.
      array<Byte>^metaComment = {(Byte)'T',(Byte)'e',(Byte)'s',(Byte)'t'};
      metaGraphics->AddMetafileComment( metaComment );

      // Dispose of graphics object.
      delete metaGraphics;

      // Dispose of metafile.
      delete metaFile1;

      // Release handle to temporary device context.
      newGraphics->ReleaseHdc( hdc );

      // Dispose of scratch graphics object.
      delete newGraphics;

      // Create existing metafile object to draw.
      Metafile^ metaFile2 = gcnew Metafile( "SampMeta.emf" );

      // Draw metaFile to screen.
      e->Graphics->DrawImage( metaFile2, Point(0,0) );

      // Dispose of metafile.
      delete metaFile2;
   }
private void AddMetafileCommentBytes(PaintEventArgs e)
{
    // Create temporary Graphics object for metafile
    //  creation and get handle to its device context.
    Graphics newGraphics = this.CreateGraphics();
    IntPtr hdc = newGraphics.GetHdc();
             
    // Create metafile object to record.
    Metafile metaFile1 = new Metafile("SampMeta.emf", hdc);
             
    // Create graphics object to record metaFile.
    Graphics metaGraphics = Graphics.FromImage(metaFile1);
             
    // Draw rectangle in metaFile.
    metaGraphics.DrawRectangle(new Pen(Color.Black, 5), 0, 0, 100, 100);
             
    // Create comment and add to metaFile.
    byte[] metaComment = {(byte)'T', (byte)'e', (byte)'s', (byte)'t'};
    metaGraphics.AddMetafileComment(metaComment);
             
    // Dispose of graphics object.
    metaGraphics.Dispose();
             
    // Dispose of metafile.
    metaFile1.Dispose();
             
    // Release handle to temporary device context.
    newGraphics.ReleaseHdc(hdc);
             
    // Dispose of scratch graphics object.
    newGraphics.Dispose();
             
    // Create existing metafile object to draw.
    Metafile metaFile2 = new Metafile("SampMeta.emf");
             
    // Draw metaFile to screen.
    e.Graphics.DrawImage(metaFile2, new Point(0, 0));
             
    // Dispose of metafile.
    metaFile2.Dispose();
}
Private Sub AddMetafileCommentBytes(ByVal e As PaintEventArgs)

    ' Create temporary graphics object for metafile
    ' creation and get handle to its device context.
    Dim newGraphics As Graphics = Me.CreateGraphics()
    Dim hdc As IntPtr = newGraphics.GetHdc()

    ' Create metafile object to record.
    Dim metaFile1 As New Metafile("SampMeta.emf", hdc)

    ' Create graphics object to record metaFile.
    Dim metaGraphics As Graphics = Graphics.FromImage(metaFile1)

    ' Draw rectangle in metaFile.
    metaGraphics.DrawRectangle(New Pen(Color.Black, 5), 0, 0, 100, 100)

    ' Create comment and add to metaFile.
    Dim metaComment As Byte() = {CByte("T"), CByte("e"), CByte("s"), _
    CByte("t")}
    metaGraphics.AddMetafileComment(metaComment)

    ' Dispose of graphics object.
    metaGraphics.Dispose()

    ' Dispose of metafile.
    metaFile1.Dispose()

    ' Release handle to scratch device context.
    newGraphics.ReleaseHdc(hdc)

    ' Dispose of scratch graphics object.
    newGraphics.Dispose()

    ' Create existing metafile object to draw.
    Dim metaFile2 As New Metafile("SampMeta.emf")

    ' Draw metaFile to screen.
    e.Graphics.DrawImage(metaFile2, New Point(0, 0))

    ' Dispose of metafile.
    metaFile2.Dispose()
End Sub

Keterangan

Metode ini hanya valid jika Graphics ini dikaitkan dengan Metafile.

Berlaku untuk