Сохранить метафайл в C#
Если у меня есть образ wmf или emf в System.Drawing.Image, есть ли способ сохранить данные метафайла с помощью C#, не отображая их как растровое изображение? Вызов Image.Save отобразит его как растровое изображение, и я хочу сохранить исходные данные, чтобы они все еще были действительным файлом формата.wmf или.emf.
3 ответа
Кажется, вы не можете.
На этой странице MSDN указано:
замечания
При использовании метода "Сохранить" для сохранения графического изображения в виде файла формата метафайла Windows (WMF) или расширенного метафайла (EMF) полученный файл сохраняется в виде файла Portable Network Graphics (PNG). Это происходит потому, что компонент GDI+.NET Framework не имеет кодировщика, который можно использовать для сохранения файлов в формате.wmf или.emf.
Несмотря на эту страницу MSDN, возможно сохранить настоящий файл EMF. Смотрите этот вопрос: /questions/32205807/gdi-c-kak-sohranit-izobrazhenie-v-formate-emf/32205819#32205819
Можно сохранить метафайл в оригинальном формате, если вы используете gdi32.dll.
Я использую метод, описанный здесь, и он отлично работает.