Filtro sfocatura gaussiana SVG C#

SVG o le immagini grafiche vettoriali scalabili sono popolari grazie alle loro caratteristiche di scalabilità e qualità. Puoi applicare diversi filtri alle immagini SVG in base alle tue esigenze. per sfocare e uniformare un’immagine SVG, puoi applicare un filtro sfocatura gaussiana. A seguito di tali casi d’uso, questo articolo illustra come creare un filtro sfocatura gaussiana su un’immagine SVG a livello di codice in C#.

Filtro sfocatura gaussiana sull’immagine SVG - Download API C#

Aspose.SVG per .NET può essere utilizzato per creare o modificare file di grafica vettoriale scalabile a livello di codice in C#. È possibile scaricare rapidamente i file DLL dalla sezione Download oppure utilizzare il seguente comando di installazione di NuGet nell’IDE di Microsoft Visual Studio:

PM> Install-Package Aspose.SVG

Come creare un filtro sfocatura gaussiana sull’immagine SVG in C#

Puoi creare un filtro sfocatura gaussiano su un’immagine SVG seguendo i passaggi seguenti:

  1. Inizializza un oggetto classe SVGDocument e imposta l’URL dello spazio dei nomi SVG.
  2. Crea un elemento immagine e un elemento filtro.
  3. Aggiungi l’elemento grafico.
  4. Crea un elemento feGaussianBlur e aggiungilo a filterElement.
  5. Salva l’immagine SVG di output.

Crea filtro sfocatura gaussiana sull’immagine SVG a livello di codice in C#

I seguenti passaggi possono essere utilizzati per creare un filtro sfocatura gaussiana su un’immagine SVG a livello di codice in C#:

  1. Crea un’istanza SVGDocument e carica il file SVG di origine.
  2. Specificare l’URL dello spazio dei nomi per SVG e accedere all’elemento radice.
  3. Crea un elemento filtro e un elemento feGaussianBlur.
  4. Esporta il file SVG di output con il metodo Salva.

L’esempio di codice seguente illustra come creare un filtro sfocatura gaussiana su un’immagine SVG in C#:

// Inizializza un oggetto classe SVGDocument
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument("complex.svg");

// Imposta l'URL dello spazio dei nomi SVG
string SvgNamespace = "http://www.w3.org/2000/svg";

// Ottieni l'elemento svg radice del documento
Aspose.Svg.SVGSVGElement svgElement = document.RootElement;

// Crea un elemento immagine e aggiungilo a 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);

// Crea un elemento defs e aggiungilo a svgElement
Aspose.Svg.SVGDefsElement defsElement = (Aspose.Svg.SVGDefsElement)document.CreateElementNS(SvgNamespace, "defs");
svgElement.AppendChild(defsElement);

// Crea un elemento filtro e aggiungilo a defsElement
Aspose.Svg.SVGFilterElement filterElement = (Aspose.Svg.SVGFilterElement)document.CreateElementNS(SvgNamespace, "filter");
defsElement.AppendChild(filterElement);

// Crea un elemento feGaussianBlur e aggiungilo a 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);

// Salva il documento SVG
document.Save(Path.Combine(dataDir, "gaussianBlur.svg"));

Ottieni la licenza API gratuita

Puoi valutare l’API senza alcuna limitazione di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo, hai esaminato ed esplorato come creare un effetto filtro sfocatura gaussiana su un’immagine SVG a livello di codice in C#. Considerando che puoi dare un’occhiata allo spazio documentazione per controllare le varie funzionalità offerte dall’API. Non esitare a scriverci sul forum nel caso in cui tu abbia bisogno di discutere delle tue preoccupazioni.

Guarda anche