图像在互联网上无处不在。让我们探索使用一些流行的图像格式,包括 EMF、WMF 和 SVG 图像。在本文中,您将考虑将 EMF、WMF 和 SVG 矢量图像分别压缩为 EMZ、WMZ 和 SVGZ。此外,我们还将学习如何使用 C# 将 EMF、WMF 和 SVG 矢量图像转换为光栅图像,例如 PNG。以下是我们将探索的用例:
- 使用 C# 将 EMF 转换为 EMZ
- 使用 C# 将 EMZ 转换为 EMF
- 使用 C# 将 WMF 转换为 WMZ
- 使用 C# 将 WMZ 转换为 WMF
- 使用 C# 将 SVG 转换为 SVGZ
- 使用 C# 将 SVGZ 转换为 SVG
- 使用 C# 将 EMZ 转换为 PNG
- 使用 C# 将 WMZ 转换为 PNG
- 使用 C# 将 SVGZ 转换为 PNG
矢量图像文件通常很大,因此当您需要通过网络传输文件时,此类图像的压缩和解压缩很有帮助。让我们学习 Aspose.Imaging for .NET API 的转换。
使用 C# 将 EMF 转换为 EMZ
EMZ 文件实际上是 EMF 图像的压缩形式。您可以按照以下步骤将 EMF 转换为 EMZ:
- 加载源 EMF 图像
- 初始化 VectorRasterizationOptions 对象
- 指定 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,请按照以下步骤操作:
- 加载源 EMZ 文件
- 初始化 EmfRasterizationOptions 对象
- 指定 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:
- 加载源 WMF 文件
- 初始化 WmfRasterizationOptions 对象
- 使用 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 文件。您应该按照以下步骤进行转换:
- 加载输入 WMZ 文件
- 声明 WmfRasterizationOptions 类的实例
- 将输出图像保存为 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:
- 加载输入 SVG 文件
- 初始化 VectorRasterizationOptions 对象
- 使用 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:
- 加载输入 SVGZ 文件
- 指定 SvgRasterizationOptions 实例
- 使用 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 图像:
- 加载输入 EMZ 图像
- 初始化 VectorRasterizationOptions 类的实例
- 使用 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:
- 加载源 WMZ 图像文件
- 声明一个 VectorRasterizationOptions 类的对象
- 使用 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 图像。您需要做的就是按照以下步骤操作:
- 加载源 SVGZ 图像文件
- 初始化 VectorRasterizationOptions 类的对象
- 通过指定 PngOptions 保存输出 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 文档。如有任何疑问,请随时通过 免费支持论坛 与我们联系。