Wenn ich ein WMF- oder EMF-Image in System.Drawing.Image habe, gibt es eine Möglichkeit, die Metadateidaten mit C# zu speichern, ohne es als Bitmap zu rendern? Wenn Sie Image.Save aufrufen, wird es in eine Bitmap gerendert, und ich möchte die Originaldaten beibehalten, damit sie immer noch eine gültige WMF- oder EMF-Datei ist.Speichern Sie Metadatei in C#
Antwort
Es scheint, dass Sie nicht können.
Auf this MSDN page, 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, Die resultierende Datei wird stattdessen als PNG-Datei (Portable Network Graphics) gespeichert. Dieses Verhalten tritt auf, weil die GDI + -Komponente von dem .NET nicht über einen Encoder verfügt, den Sie zu dem Speichern von Dateien wie WMF- oder EMF-Dateien verwenden können.
Trotz dieser MSDN-Seite ist es möglich, eine echte EMF-Datei zu speichern. Siehe diese Frage: gdi-c-how-to-save-an-image-as-emf
siehe die Antwort von user120789 in dem oben genannten Link – user1027167
Es ist möglich, eine Metadatei in seinem ursprünglichen Format zu speichern, wenn Sie die gdi32.dll verwenden.
Ich verwende die beschriebene Methode here und es funktioniert gut.
möglich Duplikat von [GDI +/C#: So speichern Sie ein Bild als EMF?] (Http://stackoverflow.com/questions/152729/gdi-c-how-to-save-an-image-as-emf) – finnw