每当网络上的图像需要透明度时,PNG 就是我想到的格式之一。 SVG 图像由于其可扩展性,也是常用的图像格式之一。对于显示小的静态图像、徽标以及具有透明背景的图像,通常首选 PNG 图像。由于兼容性或任何其他原因,通常需要将 SVG 矢量图形转换为其他格式。本文讨论如何使用 C# 将 SVG 矢量图形转换为 PNG 图像。
.NET API 转换图像
GroupDocs 使开发人员能够使用其 Conversion API 将图像格式转换为各种其他格式。转换后的图像也可以在转换过程中使用不同的高级选项进行更改。在本文中,我将使用它的 GroupDocs.Conversion for .NET 将 SVG 矢量图像转换为 PNG 图像。
您可以从下载部分下载 DLL 或 MSI 安装程序,或者通过 NuGet 将其包添加到您的 .NET 应用程序来安装 API。
PM> Install-Package GroupDocs.Conversion
GitHub 上也提供了其功能的运行示例。请访问其 文档 和 API 参考 获取指导。
使用 C# 将 SVG 转换为 PNG 图像
让我们从使用默认设置将矢量图形转换为 PNG 格式开始。以下步骤展示了如何使用 C# 将 SVG 图像转换为 PNG。
- 使用 Converter 类加载 SVG 文件。
- 准备图像转换选项。
- 将转换文件类型设置为 PNG。
- 使用准备好的选项调用 Convert() 方法。
以下 C# 源代码将 SVG 转换为 PNG 图像。
// 如何使用带有默认选项的 .NET Conversion API 在 C# 中将 SVG 文件转换为 PNG 格式
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
ImageConvertOptions options = new ImageConvertOptions
{
Format = ImageFileType.Png
};
converter.Convert("path/svg-to-png.png", options);
}
使用 C# 的高级选项将 SVG 转换为 PNG 图像
在转换矢量图形时,可以将各种自定义应用于 PNG 输出。以下是我们可以调整的一些 PNG 图像功能:
- 亮度
- 对比
- 伽玛
- 灰度
- 翻转模式(水平/垂直)
- 旋转角度
- 高度
- 宽度
- 水印
以下步骤显示了如何将 SVG 图像转换为 PNG,并进一步将调整应用于生成的 PNG 文件。
- 使用 Converter 类加载 SVG 图形。
- 准备图像转换选项。
- 将转换文件类型设置为 PNG。
- 定义选择性定制并调整其值。
- 使用带有准备选项的 Convert() 方法转换为 PNG 图像。
以下源代码使用 C# 将 SVG 中的自定义应用到 PNG 转换。您可以为所需的 PNG 输出应用其中任何一种效果或效果组合。
// 使用各种自定义将 SVG 文件转换为 C# 中的 PNG 格式
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
ImageConvertOptions options = new ImageConvertOptions
{
Format = ImageFileType.Png,
FlipMode = ImageFlipModes.FlipY,
RotateAngle = 45,
Grayscale = true
/*
Brightness = 50,
Contrast = 50,
Gamma = 0.5F,
*/
};
// 在转换后的图像上应用水印
WatermarkOptions watermark = new WatermarkTextOptions("Watermark")
{
Color = Color.Blue,
Width = 150,
Height = 150,
Background = false,
Top = 50,
Left = 50,
RotationAngle = -45,
Transparency = 50,
};
options.Watermark = watermark;
converter.Convert("path/svg-to-png-customized.png", options);
}
获取免费 API 许可证
您可以获得 免费的临时许可证 来使用 API,而不受评估限制。
结论
让我们总结一下。我们学习了在 .NET 应用程序中使用 C# 将 SVG 矢量图形转换为 PNG 格式的基础和一些高级转换。我们进一步了解了如何在转换为 PNG 格式时对 SVG 文件进行旋转、翻转或添加水印。此外,我们学会了微调伽玛和亮度,以及如何打开和关闭灰度选项。
尝试运行 GitHub 中的示例,这将帮助您构建自己的 SVG 到 PNG 转换器,类似于 groupdocs.app 中提供的转换器。如有任何疑问,请通过 论坛 联系我们。