高斯模糊濾鏡 SVG C#

SVG 或可縮放矢量圖形圖像因其可縮放性和質量特性而廣受歡迎。您可以根據需要在 SVG 圖像上應用多個過濾器。要模糊和平滑 SVG 圖像,您可以應用高斯模糊濾鏡。按照此類用例,本文討論瞭如何在 C# 中以編程方式在 SVG 圖像上創建高斯模糊濾鏡。

SVG 圖像上的高斯模糊濾鏡 – C# API 下載

Aspose.SVG for .NET 可用於在 C# 中以編程方式創建或編輯可縮放矢量圖形文件。您可以從 Downloads 部分快速下載 DLL 文件,或在 Microsoft Visual Studio IDE 中使用以下 NuGet 安裝命令:

PM> Install-Package Aspose.SVG

如何在 C# 中對 SVG 圖像創建高斯模糊濾鏡

您可以按照以下步驟在 SVG 圖像上創建高斯模糊濾鏡:

  1. 初始化一個 SVGDocument 類對象並設置 SVG 命名空間 URL。
  2. 創建圖像元素和過濾器元素。
  3. 附加圖形元素。
  4. 創建一個 feGaussianBlur 元素並將其添加到 filterElement。
  5. 保存輸出的 SVG 圖像。

在 C# 中以編程方式在 SVG 圖像上創建高斯模糊濾鏡

以下步驟可用於在 C# 中以編程方式在 SVG 圖像上創建高斯模糊濾鏡:

  1. 創建一個 SVGDocument 實例並加載源 SVG 文件。
  2. 指定 SVG 的命名空間 URL 並訪問根元素。
  3. 創建過濾器元素和 feGaussianBlur 元素。
  4. 使用 Save 方法導出輸出 SVG 文件。

以下代碼示例演示瞭如何使用 C# 在 SVG 圖像上創建高斯模糊濾鏡:

// 初始化一個 SVGDocument 類對象
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument("complex.svg");

// 設置 SVG 命名空間 URL
string SvgNamespace = "http://www.w3.org/2000/svg";

// 獲取文檔的根 svg 元素
Aspose.Svg.SVGSVGElement svgElement = document.RootElement;

// 創建一個圖像元素並將其添加到 svgElement
Aspose.Svg.SVGImageElement imageElement = (Aspose.Svg.SVGImageElement)document.CreateElementNS(SvgNamespace, "image");
imageElement.Href.BaseVal = dataDir +  "complex.jpg";
imageElement.Height.BaseVal.ConvertToSpecifiedUnits(Aspose.Svg.DataTypes.SVGLength.SVG_LENGTHTYPE_PX);
imageElement.Width.BaseVal.ConvertToSpecifiedUnits(Aspose.Svg.DataTypes.SVGLength.SVG_LENGTHTYPE_PX);
imageElement.Height.BaseVal.Value = 640;
imageElement.Width.BaseVal.Value = 480;
imageElement.X.BaseVal.Value = 20;
imageElement.Y.BaseVal.Value = 20;
imageElement.SetAttribute("filter", "url(#F1)");
svgElement.AppendChild(imageElement);

// 創建一個 defs 元素並添加到 svgElement
Aspose.Svg.SVGDefsElement defsElement = (Aspose.Svg.SVGDefsElement)document.CreateElementNS(SvgNamespace, "defs");
svgElement.AppendChild(defsElement);

// 創建一個過濾器元素並添加到 defsElement
Aspose.Svg.SVGFilterElement filterElement = (Aspose.Svg.SVGFilterElement)document.CreateElementNS(SvgNamespace, "filter");
defsElement.AppendChild(filterElement);

// 創建一個 feGaussianBlur 元素並添加到 filterElement	
Aspose.Svg.Filters.SVGFEGaussianBlurElement feGaussianBlurElement = (Aspose.Svg.Filters.SVGFEGaussianBlurElement)document.CreateElementNS(SvgNamespace, "feGaussianBlur");
feGaussianBlurElement.In1.BaseVal = "SourceGraphic";
feGaussianBlurElement.StdDeviationX.BaseVal = 3;
feGaussianBlurElement.StdDeviationY.BaseVal = 3;
feGaussianBlurElement.SetAttribute("x", "-20px");
feGaussianBlurElement.SetAttribute("y", "-20px");
feGaussianBlurElement.SetAttribute("height", "720px");
feGaussianBlurElement.SetAttribute("width", "560px");
filterElement.Id = "F1";
filterElement.AppendChild(feGaussianBlurElement);

// 保存 SVG 文檔
document.Save(Path.Combine(dataDir, "gaussianBlur.svg"));

獲取免費的 API 許可證

您可以通過申請 免費臨時許可證 來評估 API,而沒有任何評估限制。

結論

在本文中,您研究並探索瞭如何在 C# 中以編程方式在 SVG 圖像上創建高斯模糊濾鏡效果。然而,您可以查看 文檔 空間來檢查 API 提供的各種功能。如果您需要討論您的任何疑慮,請隨時在 論壇 上給我們寫信。

也可以看看