转换 SVG

图像在互联网上无处不在。让我们探索使用一些流行的图像格式,包括 EMF、WMF 和 SVG 图像。在本文中,您将考虑将 EMF、WMF 和 SVG 矢量图像分别压缩为 EMZ、WMZ 和 SVGZ。此外,我们还将学习如何使用 C# 将 EMF、WMF 和 SVG 矢量图像转换为光栅图像,例如 PNG。以下是我们将探索的用例:

矢量图像文件通常很大,因此当您需要通过网络传输文件时,此类图像的压缩和解压缩很有帮助。让我们学习 Aspose.Imaging for .NET API 的转换。

使用 C# 将 EMF 转换为 EMZ

EMZ 文件实际上是 EMF 图像的压缩形式。您可以按照以下步骤将 EMF 转换为 EMZ:

  1. 加载源 EMF 图像
  2. 初始化 VectorRasterizationOptions 对象
  3. 指定 EmfOptions 时保存图像

下面的代码片段显示了如何使用 C# 将 EMF 转换为 EMZ:

string file = "input.emf";
string inputFile = dataDir + file;
string outFile = inputFile + ".emz";
using (var image = Image.Load(inputFile))
{
    VectorRasterizationOptions vectorRasterizationOptions = new EmfRasterizationOptions() { PageSize = image.Size };
    image.Save(outFile, new EmfOptions() { VectorRasterizationOptions = vectorRasterizationOptions, Compress = true });
}

使用 C# 将 EMZ 转换为 EMF

如果您收到了压缩的 EMZ 文件,然后您想将 EMZ 转换为 EMF,请按照以下步骤操作:

  1. 加载源 EMZ 文件
  2. 初始化 EmfRasterizationOptions 对象
  3. 指定 EmfOptions 时保存图像

下面的代码片段解释了如何使用 C# 将 EMZ 转换为 EMF:

string file = "example.emz";
string inputFile = dataDir + file;
string outFile = inputFile + ".emf";
using (var image = Image.Load(inputFile))
{
    VectorRasterizationOptions vectorRasterizationOptions = new EmfRasterizationOptions { PageSize = image.Size };
    image.Save(outFile, new EmfOptions { VectorRasterizationOptions = vectorRasterizationOptions });
}

使用 C# 将 WMF 转换为 WMZ

您可以使用 Aspose.Imaging for .NET API 压缩 WMF 图像。压缩过程通过以下步骤将 WMF 转换为 WMZ:

  1. 加载源 WMF 文件
  2. 初始化 WmfRasterizationOptions 对象
  3. 使用 WmfOptions 保存图像

下面的代码片段显示了如何使用 C# 将 WMF 转换为 WMZ:

string file = "castle.wmf";
string inputFile = dataDir + file;
string outFile = inputFile + ".wmz";
using (var image = Image.Load(inputFile))
{
    VectorRasterizationOptions vectorRasterizationOptions = new WmfRasterizationOptions() { PageSize = image.Size };
    image.Save(outFile, new WmfOptions() { VectorRasterizationOptions = vectorRasterizationOptions, Compress = true });
}

使用 C# 将 WMZ 转换为 WMF

正如我们已经学会了压缩 WMF 图像。 Aspose.Imaging for .NET API 允许您解压缩 WMZ 文件并将此类 WMZ 转换为 WMF 文件。您应该按照以下步骤进行转换:

  1. 加载输入 WMZ 文件
  2. 声明 WmfRasterizationOptions 类的实例
  3. 将输出图像保存为 WMF 文件

下面的代码片段显示了如何使用 C# 将 WMZ 转换为 WMF:

string file = "example.wmz";
string inputFile = dataDir + file;
string outFile = inputFile + ".wmf";
using (var image = Image.Load(inputFile))
{
    VectorRasterizationOptions vectorRasterizationOptions = new WmfRasterizationOptions() { PageSize = image.Size };
    image.Save(outFile, new WmfOptions() { VectorRasterizationOptions = vectorRasterizationOptions });
}

使用 C# 将 SVG 转换为 SVGZ

SVG 图像被广泛用于显示高质量和复杂的图形。您可以通过以下步骤压缩此类矢量图像并将 SVG 转换为 SVGZ:

  1. 加载输入 SVG 文件
  2. 初始化 VectorRasterizationOptions 对象
  3. 使用 SvgOptions 保存输出 SVGZ 图像

以下代码片段显示了如何使用 C# 将 SVG 转换为 SVGZ:

string file = "Example.svg";
string inputFile = dataDir + file;
string outFile = inputFile + ".svgz";
using (var image = Image.Load(inputFile))
{
    VectorRasterizationOptions vectorRasterizationOptions = new SvgRasterizationOptions() { PageSize = image.Size };
    image.Save(outFile, new SvgOptions() { VectorRasterizationOptions = vectorRasterizationOptions, Compress = true });
}

使用 C# 将 SVGZ 转换为 SVG

您可以通过以下简单步骤解压缩 SVGZ 文件并将 SVGZ 转换为 SVG:

  1. 加载输入 SVGZ 文件
  2. 指定 SvgRasterizationOptions 实例
  3. 使用 SvgOptions 保存 SVG 图像

以下代码片段显示了如何使用 C# 将 SVGZ 转换为 SVG:

string file = "example.svgz";
string inputFile = dataDir + file;
string outFile = inputFile + ".svg";
using (var image = Image.Load(inputFile))
{
    VectorRasterizationOptions vectorRasterizationOptions = new SvgRasterizationOptions() { PageSize = image.Size };
    image.Save(outFile, new SvgOptions() { VectorRasterizationOptions = vectorRasterizationOptions });
}

因此,您已经学习了如何压缩和解压缩矢量格式图像,包括 EMZ、WMZ 和 SVGZ 图像。让我们继续前进并了解如何将此类图像文件转换为光栅图像。

使用 C# 将 EMZ 转换为 PNG

EMZ 是 EMF 图像的压缩形式。您可以直接将其转换为光栅图像格式,如 PNG 或 JPG。您不需要先解压缩图像,然后再进行转换。请按照以下步骤将 EMZ 转换为 PNG 图像:

  1. 加载输入 EMZ 图像
  2. 初始化 VectorRasterizationOptions 类的实例
  3. 使用 PngOptions 保存 putput PNG 图像

下面的代码片段展示了如何使用 C# 将 EMZ 转换为 PNG 图像:

string file = "example.emz";           
string inputFile = dataDir + file;
string outFile = inputFile + ".png";
using (Image image = Image.Load(inputFile))
{
    VectorRasterizationOptions vectorRasterizationOptions = (VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Color.White, image.Width, image.Height });
    image.Save(outFile, new PngOptions() { VectorRasterizationOptions = vectorRasterizationOptions });
}

使用 C# 将 WMZ 转换为 PNG

现在,让我们学习将压缩的 WMF 文件 WMZ 直接转换为 PNG。以下步骤将 WMZ 转换为 PNG:

  1. 加载源 WMZ 图像文件
  2. 声明一个 VectorRasterizationOptions 类的对象
  3. 使用 PngOptions 类保存 PNG 图像文件

下面的代码片段遵循这些步骤,并展示了如何使用 C# 将 WMZ 转换为 PNG:

string file = "example.wmz";           
string inputFile = dataDir + file;
string outFile = inputFile + ".png";
using (Image image = Image.Load(inputFile))
{
    VectorRasterizationOptions vectorRasterizationOptions = (VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Color.White, image.Width, image.Height });
    image.Save(outFile, new PngOptions() { VectorRasterizationOptions = vectorRasterizationOptions });
}

使用 C# 将 SVGZ 转换为 PNG

SVGZ 到 PNG 转换的激动人心的功能是根据我们客户的几个要求推出的。此功能可让您高效地将 SVGZ 转换为具有高保真结果的 PNG 图像。您需要做的就是按照以下步骤操作:

下面的代码片段基于这些步骤,这些步骤解释了如何使用 C# 将 SVGZ 转换为 PNG:

string file = "example.svgz";           
string inputFile = dataDir + file;
string outFile = inputFile + ".png";
using (Image image = Image.Load(inputFile))
{
    VectorRasterizationOptions vectorRasterizationOptions = (VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Color.White, image.Width, image.Height });
    image.Save(outFile, new PngOptions() { VectorRasterizationOptions = vectorRasterizationOptions });
}

结论

我们已经讨论了有助于传输文件的矢量图像格式的压缩和解压缩。当您想要存档此类图像时,该方法也适用。例如,您可以在存档之前压缩此类矢量图像,然后根据您的要求解压缩。此外,我们还探索了使用 Aspose.Imaging for .NET API 将压缩矢量图像转换为光栅图像。此外,您可以探索 API 参考API 文档。如有任何疑问,请随时通过 免费支持论坛 与我们联系。

也可以看看