Вопрос
Если у меня есть изображение wmf или emf в системе.Рисунок.Изображение, есть ли способ сохранить данные метафайла с помощью c #, не отображая их в виде растрового изображения?Вызов изображения.Save отобразит его в виде растрового изображения, и я хочу сохранить исходные данные, чтобы они по-прежнему были допустимым файлом формата .wmf или .emf.
Решение
Кажется, ты не можешь.
На эта страница MSDN, это заявлено:
Замечания
При использовании метода Сохранения для сохранения графического изображения в формате метафайла Windows (WMF) или расширенного формата метафайла (EMF) результирующий файл сохраняется в виде файла переносимой сетевой графики (PNG).Такое поведение возникает из-за того, что компонент GDI + .NET Framework не имеет кодировщика, который можно использовать для сохранения файлов в формате .wmf или .emf.
Другие советы
Несмотря на эту страницу MSDN, можно сохранить настоящий файл EMF.Смотрите этот вопрос: gdi-c-как-сохранить-изображение-как-emf
Можно сохранить метафайл в его оригинальном формате, если вы используете gdi32.dll .
Я использую описанный метод здесь и это прекрасно работает.