2009-04-09 10 views
5

Jeśli mam obraz wmf lub emf w System.Drawing.Image, czy istnieje sposób na zapisanie danych metapliku za pomocą C# bez renderowania go jako bitmapy? Wywołanie Image.Save spowoduje renderowanie go do bitmapy i chcę zachować oryginalne dane, aby nadal był prawidłowym plikiem w formacie .wmf lub .emf.Zapisz metaplik w C#

+0

możliwy duplikat [GDI +/C#: Jak zapisać obraz jako EMF?] (Http://stackoverflow.com/questions/152729/gdi-c-how-to-save-an-image-as-emf) – finnw

Odpowiedz

2

Wygląda na to, że nie możesz.

Na this MSDN page, jest powiedziane:

Uwagi

Podczas korzystania z metody Save, aby zapisać obraz graficzny jako formacie Windows Metafile (WMF) lub pliku rozszerzony format graficzny (EMF), wynikowy plik jest zapisywany jako plik Portable Network Graphics (PNG). Takie zachowanie występuje, ponieważ komponent GDI + systemu .NET Framework nie ma kodera, którego można użyć do zapisywania plików jako plików .wmf lub .emf.

2

Możliwe jest zapisanie metapliku w jego formacie orignal, jeśli używasz gdi32.dll.

Używam metody opisanej here i działa dobrze.