Сохранить метафайл в 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.

Я использую метод, описанный здесь, и он отлично работает.

Другие вопросы по тегам