Graphics.AddMetafileComment(Byte[]) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Adds a comment to the current Metafile.
public:
void AddMetafileComment(cli::array <System::Byte> ^ data);
public void AddMetafileComment (byte[] data);
member this.AddMetafileComment : byte[] -> unit
Public Sub AddMetafileComment (data As Byte())
Parameters
- data
- Byte[]
Array of bytes that contains the comment.
Examples
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:
[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
Remarks
This method is valid only if this Graphics is associated with a Metafile.