ガウスぼかしフィルター SVG C#

SVG またはスケーラブル ベクター グラフィック画像は、スケーラビリティと品質の特徴により人気があります。要件に基づいて、SVG 画像にいくつかのフィルターを適用できます。 SVG 画像をぼかして滑らかにするには、ガウスぼかしフィルターを適用できます。このようなユース ケースに続いて、この記事では、C# でプログラムによって SVG 画像にガウスぼかしフィルターを作成する方法について説明します。

SVG 画像のガウスぼかしフィルター – C# API ダウンロード

Aspose.SVG for .NET を使用して、C# でプログラムによって Scalable Vector Graphic ファイルを作成または編集できます。 ダウンロード セクションから DLL ファイルをすばやくダウンロードするか、Microsoft Visual Studio IDE で次の NuGet インストール コマンドを使用できます。

PM> Install-Package Aspose.SVG

C# で SVG 画像にガウスぼかしフィルターを作成する方法

次の手順に従って、SVG 画像にガウスぼかしフィルターを作成できます。

  1. SVGDocument クラス オブジェクトを初期化し、SVG 名前空間 URL を設定します。
  2. image 要素と filter 要素を作成します。
  3. グラフィック要素を追加します。
  4. feGaussianBlur 要素を作成し、filterElement に追加します。
  5. 出力 SVG イメージを保存します。

C# でプログラムによって SVG 画像にガウスぼかしフィルターを作成する

次の手順を使用して、C# でプログラムによって SVG 画像にガウスぼかしフィルターを作成できます。

  1. SVGDocument インスタンスを作成し、ソース SVG ファイルをロードします。
  2. SVG の名前空間 URL を指定し、ルート要素にアクセスします。
  3. filter 要素と 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 が提供するさまざまな機能を確認できます。懸念事項について話し合う必要がある場合は、フォーラム までお気軽にお問い合わせください。

関連項目