Graphics.AddMetafileComment Method
Adds a comment to the current Metafile.
Namespace: System.Drawing
Assembly: System.Drawing (in System.Drawing.dll)
Parameters
- data
- Type: System.Byte[]
Array of bytes that contains the comment.
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 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.