每當 Web 上的圖像需要透明度時,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 圖像。
// 如何在 C# 中使用帶默認選項的 .NET 轉換 API 將 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 中提供的轉換器。如有任何疑問,請通過 論壇 聯繫我們。