Sytost textu v SVG C#

Sytost v obrázku je popsána jako intenzita barev. Někdy může být nutné přidat text do obrázku SVG a nasytit jej. V souladu s takovými scénáři tento článek popisuje, jak provést saturaci textu v obrázcích SVG programově v C#.

C# API pro nasycení textu v obrázku SVG – instalace

Aspose.SVG for .NET API je schopné vytvářet nebo manipulovat s obrázky SVG. Můžete použít různé filtry a pracovat s mnoha vlastnostmi obrázků Scalable Vector Graphics a také převést obrázky SVG do podporované formáty. Jednoduše si stáhněte soubor DLL nebo spusťte následující instalační příkaz NuGet:

PM> Install-Package Aspose.SVG

Jak nasytit text v obrázku SVG v C#

Do obrázku SVG můžete vložit text a nasytit jej pomocí následujících kroků:

  1. Vytvořte objekt třídy SVGDocument.
  2. Vytvořte defs a filtrační prvek.
  3. Vytvořte prvek feColorMatrix a přidejte text do SVG.
  4. Uložte výstupní obrázek SVG.

Následující část dále rozvádí, jak provést tyto kroky ve fragmentu kódu C#:

Nasytit text v obrázku SVG programově v C#

Text v obrázku SVG můžete saturovat pomocí následujících kroků:

  1. Vytvořte objekt třídy SVGDocument.
  2. Otevřete kořenový prvek SVG a nastavte adresu URL jmenného prostoru.
  3. Vytvořte objekt třídy SVGDefsElement a přidejte jej do prvku SVG.
  4. Inicializujte instanci třídy SVGFEColorMatrixElement a nastavte jiné hodnoty.
  5. Definujte objekt třídy SVGTextElement a přidejte text do SVG.
  6. Nakonec exportujte výstupní obrázek SVG pomocí metody Save().

Níže uvedený úryvek kódu ukazuje, jak vytvořit efekt saturace pomocí barevné matice v C#:

// Vytvořte instanci třídy SVGDocument
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument();

// Nastavit adresu URL jmenného prostoru SVG
string SvgNamespace = "http://www.w3.org/2000/svg";
// Získejte kořenový prvek svg dokumentu
Aspose.Svg.SVGSVGElement svgElement = document.RootElement;


// Vytvořte prvek defs a přidejte jej do svgElement
Aspose.Svg.SVGDefsElement defsElement = (Aspose.Svg.SVGDefsElement)document.CreateElementNS(SvgNamespace, "defs");
svgElement.AppendChild(defsElement);

// Vytvořte prvek filtru a přidejte jej do prvku 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);


// Vytvořte prvek 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);

// Vytvořte textový prvek a přidejte jej do 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);

// Uložte dokument SVG
document.Save(Path.Combine(dataDir, "TextSaturation.svg"));

Získejte bezplatnou licenci API

Můžete požádat o bezplatnou dočasnou licenci k vyhodnocení všech funkcí rozhraní API na jejich plnou kapacitu.

Závěr

V tomto článku jste se naučili, jak programově v C# použít sytost textu v obrázku SVG. Zatímco se můžete podívat do sekce dokumentace, kde se dozvíte různé další funkce zahrnuté v API. V případě, že chcete prodiskutovat jakékoli své obavy nebo nejasnosti, neváhejte nás kontaktovat na free support forum.

Viz také