将 emf wmf 转换为 svg C#

WMF 是 Windows MetaFile 的缩写,而 EMF 是改进版本,称为增强型 MetaFile。这些元文件经常用于打印目的。您可以根据需要轻松地将 EMF 或 WMF 转换为 SVG 图像文件格式。让我们通过以下部分了解有关这些文件转换的更多详细信息:

WMF 或 EMF 到 SVG 转换器 - API 安装

Aspose.Imaging for .NET API 允许您创建、操作或编辑 WMF、EMF 和其他几种支持的文件格式。您可以通过从 Downloads 部分下载 API 或通过 NuGet 库使用以下安装命令轻松配置 API:

PM> Install-Package Aspose.Imaging

在 C# 中以编程方式将 WMF 转换为 SVG

您可以在基于 .NET 的应用程序中使用 C# 语言以编程方式将 WMF 转换为 SVG 图像。以下步骤可用于 WMF 到 SVG 图像:

  1. 加载输入 WMF 文件
  2. 初始化 WmfRasterizationOptions 类对象
  3. 保存输出 SVG 图像

下面的代码片段详细说明了如何使用 C# 以编程方式将 WMF 转换为 SVG 图像:

// 输入 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 });            
}

使用 C# 以编程方式将 EMF 转换为 SVG

EMF 文件可以有效地转换为 SVG 文件格式。请按照以下步骤执行 EMF 转换:

  1. 加载输入 EMF 文件
  2. 初始化 EmfRasterizationOptions 类对象
  3. 设置不同的属性
  4. 保存输出 SVG 图像

以下代码基于这些步骤。它详细说明了如何使用 C# 以编程方式将 EMF 转换为 SVG:

// 输入 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 });                
}

使用 C# 在 EMF 到 SVG 转换期间将文本另存为形状

API 可以使您的应用程序能够处理不同用例的文件格式。您只需进行一些 API 调用,而无需考虑文件格式的任何底层细节。 API 支持很多属性来控制文件转换过程。例如,您可以在 EMF 到 SVG 图像渲染期间将文本保存为形状。只需按照以下步骤操作:

  1. 加载输入 EMF 文件
  2. 指定 EmfRasterizationOptions 实例
  3. 设置布尔属性以将文本呈现为形状
  4. 保存输出 SVG 文件

下面的代码解释了如何在使用 C# 将 EMF 转换为 SVG 图像文件时将文本呈现为形状:

// 加载输入 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
    });
}

结论

我们已经学习了如何使用 C# 以编程方式将 EMF 和 WMF 文件转换或导出为 SVG 图像文件。您可以通过查看 示例项目API 文档 进一步探索这些功能。我们将感谢您的反馈和建议,因为您可以随时在 免费支持论坛 上给我们写信。

也可以看看