This documentation is archived and is not being maintained.

Graphics.AddMetafileComment Method

Adds a comment to the current Metafile.

Namespace:  System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)

public void AddMetafileComment(
	byte[] data
)

Parameters

data
Type: System.Byte[]

Array of bytes that contains the comment.

This method is valid only if this Graphics is associated with a Metafile.

The following code example is designed for use with Windows Forms, and it requires PaintEventArgs e, which is a parameter of the Paint event handler, as well as thisForm, the Form for the example. The code performs the following actions:

  • Creates a temporary Graphics for creating the metafile and gets an hdc, a handle to its device context.

  • Creates a new metafile using the hdc.

  • Creates a Graphics for display of the metafile from the Metafile.

  • Draws a rectangle to the metafile.

  • Adds a comment to the metafile.

  • Disposes the Graphics for the metafile-which closes the metafile.

  • Disposes the metafile.

  • Releases the temporary hdc.

  • Disposes the temporary Graphics.

  • Creates a second metafile from the previously created file.

  • Draws the metafile to the screen.

  • Disposes the metafile.

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();
}

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
Show: