Frage
Wenn ich ein WMF- oder EMF-Bild in System.Drawing.Image habe, gibt es eine Möglichkeit, die Metafile-Daten mit c # zu speichern, ohne es als Bitmap-Rendering? Der Aufruf Image.Save machen wird es in eine Bitmap, und ich möchte die ursprünglichen Daten zu halten, so dass es immer noch eine gültige .wmf oder emf-Format-Datei sein würde.
Lösung
Es scheint, Sie können es nicht.
dieser MSDN-Seite , heißt es:
Bemerkungen
Wenn Sie die Save-Methode verwenden, um ein graphisches Bild als Windows-Metafile-Format (WMF) oder Enhanced Metafile Format (EMF) Datei zu speichern, ist die resultierende Datei als Portable Network Graphics (PNG) gespeichert Datei statt. Dieses Verhalten tritt auf, weil die GDI + -Komponente von .NET Framework nicht über einen Encoder, die Sie Dateien als .wmf oder emf-Dateien speichern können.
Andere Tipps
Trotz dieser MSDN-Seite ist es möglich, eine echte EMF-Datei zu speichern. Sehen Sie diese Frage: gdi-c-how- to-save-ein-Bild-as-emf
Es ist möglich, eine Metadatei in seinem Originalformat zu speichern, wenn Sie die gdi32.dll verwenden.
ich die Methode beschrieben bin mit