Сохранить метафайл в C#

Если у меня есть изображение wmf или emf в System.Drawing.Image, есть ли способ сохранить данные метафайла с помощью С# без рендеринга в виде растрового изображения? Вызов Image.Save преобразует его в растровое изображение, и я хочу сохранить исходные данные, чтобы он по-прежнему оставался допустимым файлом формата .wmf или .emf.


person Chris Miller    schedule 09.04.2009    source источник
comment
возможный дубликат GDI+/C#: как сохранить изображение как EMF ?   -  person finnw    schedule 27.09.2011


Ответы (3)


Кажется, вы не можете.

На этой странице MSDN указано :

Примечания

При использовании метода Сохранить для сохранения графического изображения в виде файла формата метафайла Windows (WMF) или расширенного формата метафайла (EMF) результирующий файл вместо этого сохраняется как файл переносимой сетевой графики (PNG). Это происходит из-за того, что компонент GDI+ .NET Framework не имеет кодировщика, который можно использовать для сохранения файлов в виде файлов .wmf или .emf.

person Henk Holterman    schedule 09.04.2009

Несмотря на эту страницу MSDN, можно сохранить настоящий файл EMF. См. этот вопрос: gdi-c-how- сохранить-изображение-как-emf

person Han    schedule 21.05.2009
comment
см. ответ пользователя 120789 по ссылке, указанной выше. - person user1027167; 23.04.2014

Можно сохранить метафайл в исходном формате, если вы используете gdi32.dll.

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

person Kildareflare    schedule 06.04.2010