Saturazione del testo in SVG C#

La saturazione in un’immagine è descritta come l’intensità dei colori. A volte potrebbe essere necessario aggiungere del testo in un’immagine SVG e saturarla. In base a tali scenari, questo articolo illustra come eseguire la saturazione del testo nelle immagini SVG a livello di codice in C#.

API C# per saturare il testo nell’immagine SVG - Installazione

L’API Aspose.SVG for .NET è in grado di creare o manipolare immagini SVG. Puoi applicare diversi filtri e lavorare con molte proprietà delle immagini grafiche vettoriali scalabili, nonché convertire le immagini SVG in formati supportati. Scarica semplicemente il file DLL o esegui il seguente comando di installazione NuGet:

PM> Install-Package Aspose.SVG

Come saturare il testo nell’immagine SVG in C#

Puoi inserire del testo in un’immagine SVG e saturarla con i seguenti passaggi:

  1. Crea un oggetto classe SVGDocument.
  2. Crea un defs e un elemento filtrante.
  3. Crea un elemento feColorMatrix e aggiungi del testo all’SVG.
  4. Salva l’immagine SVG di output.

La sezione seguente illustra ulteriormente come eseguire questi passaggi in un frammento di codice C#:

Saturare il testo nell’immagine SVG a livello di codice in C#

Puoi saturare il testo in un’immagine SVG con i seguenti passaggi:

  1. Crea un oggetto di classe SVGDocument.
  2. Accedi all’elemento SVG radice e imposta l’URL dello spazio dei nomi.
  3. Crea un oggetto di classe SVGDefsElement e aggiungilo all’elemento SVG.
  4. Inizializza un’istanza di classe SVGFEColorMatrixElement e imposta valori diversi.
  5. Definisci un oggetto classe SVGTextElement e aggiungi del testo all’SVG.
  6. Infine, esporta l’immagine SVG di output con il metodo Save().

Il frammento di codice seguente mostra come creare un effetto di saturazione con la matrice colore in C#:

// Crea un'istanza della classe SVGDocument
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument();

// 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 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
var filterElement = (Aspose.Svg.SVGFilterElement)document.CreateElementNS(SvgNamespace, "filter");
filterElement.Id = "shadow";
filterElement.SetAttribute("x", "-20px");
filterElement.SetAttribute("y", "-20px");
filterElement.SetAttribute("height", "150px");
filterElement.SetAttribute("width", "150px");
defsElement.AppendChild(filterElement);


// Crea un elemento feColorMatrix
var feColorMatrixElement = (Aspose.Svg.Filters.SVGFEColorMatrixElement)document.CreateElementNS(SvgNamespace, "feColorMatrix");
feColorMatrixElement.In1.BaseVal = "SourceGraphic";
feColorMatrixElement.SetAttribute("type", "saturate");
feColorMatrixElement.SetAttribute("values", "0.2");
filterElement.AppendChild(feColorMatrixElement);

// Crea un elemento di testo e aggiungilo a svgElement
var textElement = (Aspose.Svg.SVGTextElement)document.CreateElementNS(SvgNamespace, "text");
textElement.Style.FontSize = "5em";
textElement.SetAttribute("x", "20px");
textElement.SetAttribute("fill", "blue");
textElement.SetAttribute("y", "100px");
textElement.TextContent = "Aspose.SVG for .NET API";
textElement.SetAttribute("filter", "url(#shadow)");
svgElement.InsertBefore(textElement, svgElement.FirstChild);

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

Ottieni una licenza API gratuita

Puoi richiedere una licenza temporanea gratuita per valutare tutte le funzionalità dell’API a pieno regime.

Conclusione

In questo articolo si è appreso come applicare la saturazione del testo in un’immagine SVG a livello di codice in C#. Considerando che puoi dare un’occhiata alla sezione documentazione per apprendere varie altre funzionalità incluse nell’API. Nel caso in cui desideri discutere delle tue preoccupazioni o ambiguità, non esitare a contattarci al forum di supporto gratuito.

Guarda anche