(enhanced) Metafile in C#

JJB

Cogito ergo brumm
Hallo zusammen,

ich stehe vor dem Problem, dass ich (enhanced) Windows Metafiles laden oder erzeugen und darin Commentare lesen oder schreiben muss.
Laut MSDN werden WMF Daten jedoch als PNG Daten verwaltet, da .Net angeblich keinen WMF Encoder besitzt.

Kann mir jemand sagen, wie ich diese Files laden, erzeugen, kommentieren und auslesen kann ?

Hier mal ein Versuch zum Erzeugen mit Kommentieren. Ich habe derzeit jedoch kein Tool um zu prüfen was nun wirklich passiert.

Code:
Graphics aGraphics = this.CreateGraphics();                             // Create temporary Graphics object for metafile
IntPtr aHandle = aGraphics.GetHdc();                                    // Creation and get handle to its device context.
Metafile aMetaFile = new Metafile(@"test_2.wmf", aHandle);              // Create metafile object to record.
Graphics aMetaGraphics = Graphics.FromImage(aMetaFile);                 // Create graphics object to RECORD metaFile.

aMetaGraphics.DrawRectangle(new Pen(Color.Black, 5), 0, 0, 100, 100);   // Draw rectangle in metaFile.
byte[] aCommentBytes = { (byte)'T', (byte)'e', (byte)'s', (byte)'t' };  // Create comment and add to metaFile.
aMetaGraphics.AddMetafileComment(aCommentBytes);

aMetaGraphics.Dispose();                                                // Dispose of graphics object.
aMetaFile.Dispose();                                                    // Dispose of metafile.
aGraphics.ReleaseHdc(aHandle);                                          // Release handle to temporary device context.
aGraphics.Dispose();                                                    // Dispose of scratch graphics object.

Vielleicht kennt jemand auch ein gutes Tool, mit welchem ich solche Prozesse gegenchecken kann.

Ich wäre für jede Hilfe dankbar.

Gruß JJB
 
Ich hab das mal in das Grafikforum geschoben. Vielleicht hat hier aber trotzdem jemand eine Idee ?
 
Zurück