преобразовать emf wmf в svg С#

WMF — это сокращение от Windows MetaFile, а EMF — улучшенная версия, известная как Enhanced MetaFile. Эти метафайлы часто используются для печати. Вы можете легко преобразовать EMF или WMF в формат файла изображения SVG в соответствии с вашими требованиями. Давайте рассмотрим следующий раздел для получения дополнительной информации об этих преобразованиях файлов:

Конвертер WMF или EMF в SVG — установка API

Aspose.Imaging for .NET API позволяет создавать, манипулировать или редактировать WMF, EMF и несколько других поддерживаемых форматов файлов. Вы можете легко настроить API, загрузив его из раздела Загрузки или через галерею NuGet с помощью следующей команды установки:

PM> Install-Package Aspose.Imaging

Программное преобразование WMF в SVG на C#

Вы можете программно преобразовать изображение WMF в SVG, используя язык C# в своих приложениях на основе .NET. Следующие шаги можно использовать для изображения WMF в SVG:

  1. Загрузить входной файл WMF
  2. Инициализировать объект класса WmfRasterizationOptions
  3. Сохранить выходное изображение SVG

Фрагмент кода ниже подробно описывает, как программно преобразовать изображение WMF в SVG с помощью C#:

// Путь к входному файлу WMF
string sourcePath = dataDir + @"TextHintTest.wmf";

// Путь для вывода изображения SVG
string destPath = dataDir + @"WMF_out.svg";

// Загрузить входной файл WMF
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(sourcePath))
{
    // Инициализировать экземпляр WmfRasterizationOptions
    WmfRasterizationOptions wmfRasterizationOptions = new WmfRasterizationOptions();
    wmfRasterizationOptions.BackgroundColor = Aspose.Imaging.Color.White;
    wmfRasterizationOptions.PageHeight = image.Height;
    wmfRasterizationOptions.PageWidth = image.Width;

    // Сохранить выходное изображение SVG
    image.Save(destPath, new SvgOptions() { VectorRasterizationOptions = wmfRasterizationOptions });            
}

Преобразование EMF в SVG программно с использованием C#

Файлы EMF можно эффективно преобразовать в формат файлов SVG. Пожалуйста, выполните следующие шаги, чтобы выполнить преобразование EMF:

  1. Загрузить входной файл EMF
  2. Инициализировать объект класса EmfRasterizationOptions
  3. Установить различные свойства
  4. Сохранить выходное изображение SVG

Следующий код основан на этих шагах. В нем подробно описано, как программно преобразовать EMF в SVG с помощью C#:

// Путь к входному файлу EMF
string sourcePath = dataDir + @"test.emf";

// Путь для выходного изображения SVG
string destPath = dataDir + @"EMF_out.svg";

// Загрузить входной файл EMF
using (Image image = Image.Load(sourcePath))
{                
    // Инициализировать объект класса EmfRasterizationOptions
    EmfRasterizationOptions emfRasterizationOptions = new EmfRasterizationOptions();

    emfRasterizationOptions.BackgroundColor = Color.White;
    emfRasterizationOptions.PageWidth = image.Width;
    emfRasterizationOptions.PageHeight = image.Height;

    // Сохранить выходное изображение SVG
    image.Save(destPath, new SvgOptions() { VectorRasterizationOptions = emfRasterizationOptions });                
}

Сохранение текста в виде фигур во время преобразования EMF в SVG с использованием C#

API может позволить вашим приложениям обрабатывать форматы файлов для различных вариантов использования. Вам просто нужно сделать несколько вызовов API, не принимая во внимание какие-либо основные детали формата файла. API поддерживает множество свойств для управления процессами преобразования файлов. Например, вы можете сохранить текст в виде фигур во время рендеринга изображения EMF в SVG. Просто выполните шаги, перечисленные ниже:

  1. Загрузить входной файл EMF
  2. Укажите экземпляр EmfRasterizationOptions.
  3. Установите логическое свойство для отображения текста в виде фигур
  4. Сохранить выходной файл SVG

В приведенном ниже коде объясняется, как отображать текст в виде фигур при преобразовании файла изображения EMF в файл изображения SVG с помощью C#:

// Загрузить входной файл EMF
using (Image image = Image.Load(dataDir + "Test.emf"))
{
    // Укажите экземпляр EmfRasterizationOptions
    EmfRasterizationOptions emfRasterizationOptions = new EmfRasterizationOptions();
    emfRasterizationOptions.BackgroundColor = Color.White;
    emfRasterizationOptions.PageWidth = image.Width;
    emfRasterizationOptions.PageHeight = image.Height;

    // Сохранить выходной файл SVG 
    image.Save(dataDir + "TextAsShapes_out.svg", new SvgOptions
    {
        // Установите логическое свойство для отображения текста в виде фигур
        VectorRasterizationOptions = emfRasterizationOptions,
        TextAsShapes = true
    });
}

Вывод

Мы научились программно преобразовывать или экспортировать файлы EMF и WMF в файлы изображений SVG с помощью C#. Вы можете подробнее изучить функции, ознакомившись с Примерами проекта или Документацией по API. Мы будем признательны за ваши отзывы и предложения, поскольку вы можете написать нам в любое время на бесплатных форумах поддержки.

Смотрите также