WMF 是 Windows MetaFile 的缩写,而 EMF 是改进版本,称为增强型 MetaFile。这些元文件经常用于打印目的。您可以根据需要轻松地将 EMF 或 WMF 转换为 SVG 图像文件格式。让我们通过以下部分了解有关这些文件转换的更多详细信息:
- WMF 或 EMF 到 SVG 转换器 - API 安装
- 在 C# 中以编程方式将 WMF 转换为 SVG
- 使用 C# 以编程方式将 EMF 转换为 SVG
- 使用 C# 在 EMF 到 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 图像:
- 加载输入 WMF 文件
- 初始化 WmfRasterizationOptions 类对象
- 保存输出 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 转换:
- 加载输入 EMF 文件
- 初始化 EmfRasterizationOptions 类对象
- 设置不同的属性
- 保存输出 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 图像渲染期间将文本保存为形状。只需按照以下步骤操作:
- 加载输入 EMF 文件
- 指定 EmfRasterizationOptions 实例
- 设置布尔属性以将文本呈现为形状
- 保存输出 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 文档 进一步探索这些功能。我们将感谢您的反馈和建议,因为您可以随时在 免费支持论坛 上给我们写信。