Gaußscher Weichzeichner SVG C#

SVG oder skalierbare Vektorgrafiken sind aufgrund ihrer Skalierbarkeit und Qualitätsmerkmale beliebt. Sie können je nach Ihren Anforderungen mehrere Filter auf SVG-Bilder anwenden. Um ein SVG-Bild weichzuzeichnen und zu glätten, können Sie einen Gaußschen Weichzeichnungsfilter anwenden. In Anlehnung an solche Anwendungsfälle wird in diesem Artikel erläutert, wie Sie einen Gaußschen Unschärfefilter für ein SVG-Bild programmgesteuert in C# erstellen.

Gaußscher Unschärfefilter auf SVG-Bild – C#-API-Download

Aspose.SVG for .NET kann verwendet werden, um skalierbare Vektorgrafikdateien programmgesteuert in C# zu erstellen oder zu bearbeiten. Sie können die DLL-Dateien schnell aus dem Abschnitt Downloads herunterladen oder den folgenden NuGet-Installationsbefehl in der Microsoft Visual Studio-IDE verwenden:

PM> Install-Package Aspose.SVG

So erstellen Sie einen Gaußschen Unschärfefilter für ein SVG-Bild in C#

Sie können einen Gaußschen Unschärfefilter für ein SVG-Bild erstellen, indem Sie die folgenden Schritte ausführen:

  1. Initialisieren Sie ein SVGDocument-Klassenobjekt und legen Sie die SVG-Namespace-URL fest.
  2. Erstellen Sie ein Bildelement und ein Filterelement.
  3. Grafikelement anhängen.
  4. Erstellen Sie ein feGaussianBlur-Element und fügen Sie es dem filterElement hinzu.
  5. Speichern Sie das ausgegebene SVG-Bild.

Erstellen Sie einen Gaußschen Unschärfefilter für ein SVG-Bild programmgesteuert in C#

Die folgenden Schritte können verwendet werden, um einen Gaußschen Unschärfefilter für ein SVG-Bild programmgesteuert in C# zu erstellen:

  1. Erstellen Sie eine SVGDocument-Instanz und laden Sie die Quell-SVG-Datei.
  2. Geben Sie die Namespace-URL für SVG an und greifen Sie auf das Stammelement zu.
  3. Erstellen Sie ein Filterelement und ein feGaussianBlur-Element.
  4. Exportieren Sie die ausgegebene SVG-Datei mit der Methode Save.

Das folgende Codebeispiel zeigt, wie Sie einen Gaußschen Weichzeichnungsfilter für ein SVG-Bild in C# erstellen:

// Initialisiert ein SVGDocument-Klassenobjekt
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument("complex.svg");

// Legen Sie die SVG-Namespace-URL fest
string SvgNamespace = "http://www.w3.org/2000/svg";

// Holen Sie sich das Root-Svg-Element des Dokuments
Aspose.Svg.SVGSVGElement svgElement = document.RootElement;

// Erstellen Sie ein Bildelement und fügen Sie es dem svgElement hinzu
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);

// Erstellen Sie ein defs-Element und fügen Sie es dem svgElement hinzu
Aspose.Svg.SVGDefsElement defsElement = (Aspose.Svg.SVGDefsElement)document.CreateElementNS(SvgNamespace, "defs");
svgElement.AppendChild(defsElement);

// Erstellen Sie ein Filterelement und fügen Sie es dem defsElement hinzu
Aspose.Svg.SVGFilterElement filterElement = (Aspose.Svg.SVGFilterElement)document.CreateElementNS(SvgNamespace, "filter");
defsElement.AppendChild(filterElement);

// Erstellen Sie ein feGaussianBlur-Element und fügen Sie es dem filterElement hinzu	
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);

// Speichern Sie das SVG-Dokument
document.Save(Path.Combine(dataDir, "gaussianBlur.svg"));

Erhalten Sie eine kostenlose API-Lizenz

Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben Sie untersucht und untersucht, wie Sie in C# programmgesteuert einen Gaußschen Weichzeichnungsfiltereffekt für ein SVG-Bild erstellen. Sie können sich hingegen den Bereich Dokumentation ansehen, um verschiedene Funktionen zu überprüfen, die von der API angeboten werden. Bitte zögern Sie nicht, uns im Forum zu schreiben, falls Sie eines Ihrer Bedenken besprechen möchten.

Siehe auch