Gaussiskt oskärpa filter SVG C#

SVG eller Scalable Vector Graphic-bilder är populära på grund av deras skalbarhet och kvalitetsfunktioner. Du kan använda flera filter på SVG-bilder baserat på dina krav. för att göra en SVG-bild oskärpa och jämna ut kan du använda ett Gaussiskt oskärpafilter. Efter sådana användningsfall diskuterar den här artikeln hur man skapar ett Gaussiskt oskärpafilter på en SVG-bild programmatiskt i C#.

Använd Gaussian Blur Filter på en bild – C# API-installation

Aspose.SVG for .NET kan användas för att skapa eller redigera skalbara vektorgrafikfiler programmatiskt i C#. Du kan snabbt ladda ner DLL-filerna från avsnittet Nedladdningar eller använda följande NuGet-installationskommando i Microsoft Visual Studio IDE:

PM> Install-Package Aspose.SVG

Hur man skapar Gaussian Blur Filter på SVG-bild i C#

Du kan skapa ett Gaussiskt oskärpa filter på en SVG-bild genom att följa stegen nedan:

  1. Initiera ett SVGDocument-klassobjekt och ange SVG-namnområdes-URL.
  2. Skapa ett bildelement och ett filterelement.
  3. Lägg till det grafiska elementet.
  4. Skapa ett feGaussianBlur-element och lägg till det i filterElement.
  5. Spara den utgående SVG-bilden.

Skapa Gaussiskt oskärpa filter på SVG-bild Programmatically i C#

Följande steg kan användas för att skapa ett Gaussiskt oskärpa filter på en SVG-bild programmatiskt i C#:

  1. Skapa en SVGDocument-instans och ladda SVG-källfilen.
  2. Ange namnområdets URL för SVG och få åtkomst till rotelementet.
  3. Skapa ett filterelement och ett feGaussianBlur-element.
  4. Exportera den utgående SVG-filen med metoden Spara.

Följande kodexempel visar hur man skapar ett Gaussiskt oskärpafilter på en SVG-bild i C#:

// Initiera ett SVGDocument-klassobjekt
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument("complex.svg");

// Ställ in SVG-namnutrymmesadress
string SvgNamespace = "http://www.w3.org/2000/svg";

// Hämta root svg-elementet i dokumentet
Aspose.Svg.SVGSVGElement svgElement = document.RootElement;

// Skapa ett bildelement och lägg till det i 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);

// Skapa ett defs-element och lägg till i svgElement
Aspose.Svg.SVGDefsElement defsElement = (Aspose.Svg.SVGDefsElement)document.CreateElementNS(SvgNamespace, "defs");
svgElement.AppendChild(defsElement);

// Skapa ett filterelement och lägg till i defsElement
Aspose.Svg.SVGFilterElement filterElement = (Aspose.Svg.SVGFilterElement)document.CreateElementNS(SvgNamespace, "filter");
defsElement.AppendChild(filterElement);

// Skapa ett feGaussianBlur-element och lägg till i 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);

// Spara SVG-dokumentet
document.Save(Path.Combine(dataDir, "gaussianBlur.svg"));

Skaffa en gratis API-licens

Du kan utvärdera API:t utan några utvärderingsbegränsningar genom att begära en gratis temporär licens.

Slutsats

I den här artikeln har du undersökt och utforskat hur du skapar en Gaussisk oskärpa filtereffekt på en SVG-bild programmatiskt i C#. Medan du kan ta en titt på utrymmet dokumentation för att kontrollera olika funktioner som erbjuds av API:et. Skriv gärna till oss på forumet om du behöver diskutera några av dina problem.

Se även