Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
AddMetafileComment Method

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

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Show:
© 2015 Microsoft