Obrázky SVG jsou webové vektorové obrázky, které lze vyhledávat, indexovat, komprimovat a skriptovat. Zatímco stíny jsou běžným designovým prvkem, který se používá k tomu, aby byly obrázky esteticky přitažlivé a výrazné. Někdy může být nutné přidat efekt vrženého stínu do obrázku SVG, jako je ikona nebo text atd. V souladu s tím tento článek vysvětluje, jak vytvořit efekt vrženého stínu na obrázku SVG programově v C#.
- Efekt vrženého stínu na obrázku SVG – C# API ke stažení zdarma
- Jak vytvořit efekt vrženého stínu na obrázku SVG v C#
- Vytvořte efekt vrženého stínu na obrázku SVG programově v C#
Efekt vrženého stínu na obrázku SVG – C# API ke stažení zdarma
Aspose.SVG for .NET podporuje práci s obrázky SVG, protože nabízí mnoho funkcí pro úpravu, aktualizaci nebo převod škálovatelné vektorové grafiky programově v C#. Jednoduše otevřete referenční soubory DLL ze stránky Nové verze nebo spusťte příkaz NuGet níže a nakonfigurujte jej z galerie NuGet spolu se všemi závislostmi, pokud existují.
PM> Install-Package Aspose.SVG
Jak vytvořit efekt vrženého stínu na obrázku SVG v C#
Následující kroky popisují celý proces přidání efektu vrženého stínu na obrázek SVG:
- Vytvořte objekt třídy SVGDocument.
- Nastavte adresu URL jmenného prostoru SVG a získejte kořenový prvek SVG.
- Vytvořte element defs a filterElement pro připojení primitiva filtru feOffset.
- Vytvořte filtr feBlend a textový prvek.
- Uložte výstupní obraz SVG pomocí efektu Vržený stín voláním metody Uložit.
Vytvořte efekt vrženého stínu na obrázku SVG programově v C#
Chcete-li vytvořit efekt vrženého stínu na obrázku SVG programově v C#, postupujte podle následujících kroků:
- Vytvořte objekt třídy SVGDocument.
- Nastavte adresu URL jmenného prostoru SVG a získejte kořenový prvek SVG.
- Vytvořte element defs a filterElement pro připojení primitiva filtru feOffset.
- Vytvořte filtr feBlend a textový prvek.
- Uložte výstupní obraz SVG s efektem vrženého stínu voláním metody Save.
Níže uvedený fragment kódu ukazuje, jak vytvořit efekt vrženého stínu na obrázku SVG v C#:
// Inicializujte objekt 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 primitivum filtru feOffset a přidejte jej do prvku filterElement
var feOffsetElement = (Aspose.Svg.Filters.SVGFEOffsetElement)document.CreateElementNS(SvgNamespace, "feOffset");
feOffsetElement.In1.BaseVal = "SourceAlpha";
feOffsetElement.SetAttribute("result", "offset");
feOffsetElement.SetAttribute("dx", "3");
feOffsetElement.SetAttribute("dy", "3");
filterElement.AppendChild(feOffsetElement);
//// Vytvořte primitivum filtru feGaussianBlur a přidejte jej do prvku filterElement
//var feGaussianBlurElement = (Aspose.Svg.Filters.SVGFEGaussianBlurElement)document.CreateElementNS(SvgNamespace, "feGaussianBlur");
//feGaussianBlurElement.In1.BaseVal = "offset";
//feGaussianBlurElement.StdDeviationX.BaseVal = 3;
//feGaussianBlurElement.StdDeviationY.BaseVal = 3;
//feGaussianBlurElement.SetAttribute("výsledek", "rozmazání");
//filterElement.AppendChild(feGaussianBlurElement);
// Vytvořte primitivum filtru feBlend a přidejte jej do prvku filterElement
var feBlendElement = (Aspose.Svg.Filters.SVGFEBlendElement)document.CreateElementNS(SvgNamespace, "feBlend");
feBlendElement.In1.BaseVal = "SourceGraphic";
feBlendElement.In2.BaseVal = "blur";
feBlendElement.SetAttribute("mode", "normal");
filterElement.AppendChild(feBlendElement);
// 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", "#C0C0C0");
textElement.SetAttribute("y", "100px");
textElement.TextContent = "Aspose.SVG API";
textElement.SetAttribute("filter", "url(#shadow)");
svgElement.InsertBefore(textElement, svgElement.FirstChild);
// Uložte dokument SVG
document.Save(Path.Combine(dataDir, "DropShadow.svg"));
Upozorňujeme, že ve výše uvedeném úryvku kódu je několik řádků kódu zakomentováno. Pokud dáváte přednost rozmazanému efektu vrženého stínu, díky kterému výstup vynikne hladším stínem, můžete jej odkomentovat a aplikovat na stín efekt Gaussova rozostření.
Získejte bezplatnou dočasnou licenci
Můžete požádat o bezplatnou dočasnou licenci pro testování plné kapacity API.
Závěr
V tomto článku jste se naučili, jak vytvořit efekt vrženého stínu na obrázku SVG programově v C#. Stávající obrázek SVG můžete zpracovat jeho načtením nebo vytvořit nový obrázek SVG od začátku v závislosti na vašich požadavcích. Kromě toho můžete navštívit sekci dokumentace, kde se dozvíte mnoho dalších funkcí API. Pokud s námi potřebujete prodiskutovat jakékoli dotazy nebo obavy, neváhejte nás kontaktovat prostřednictvím fóra.