Obrázky SVG nebo Scalable Vector Graphics jsou oblíbené díky své škálovatelnosti a vlastnostem kvality. Na obrázky SVG můžete použít několik filtrů podle svých požadavků. pro rozmazání a vyhlazení obrazu SVG můžete použít filtr Gaussova rozostření. V návaznosti na takové případy použití tento článek popisuje, jak vytvořit gaussovský filtr rozostření na obrázku SVG programově v C#.
- Použití filtru Gaussian Blur na obrázku – instalace C# API
- Jak vytvořit filtr Gaussian Blur na obrázku SVG v C#
- Vytvořte Gaussian Blur Filter na obrázku SVG programově v C#
Použití filtru Gaussian Blur na obrázku – Instalace C# API
Aspose.SVG for .NET lze použít k vytvoření nebo úpravě souborů Scalable Vector Graphic programově v C#. Soubory DLL si můžete rychle stáhnout z části Downloads nebo použít následující instalační příkaz NuGet v Microsoft Visual Studio IDE:
PM> Install-Package Aspose.SVG
Jak vytvořit filtr Gaussian Blur na obrázku SVG v C#
Filtr Gaussovské rozostření můžete vytvořit na obrázku SVG podle následujících kroků:
- Inicializujte objekt třídy SVGDocument a nastavte adresu URL oboru názvů SVG.
- Vytvořte prvek obrázku a prvek filtru.
- Připojte grafický prvek.
- Vytvořte prvek feGaussianBlur a přidejte jej do prvku filterElement.
- Uložte výstupní obrázek SVG.
Vytvořte Gaussian Blur Filter na obrázku SVG programově v C#
Následující kroky lze použít k vytvoření Gaussova filtru rozostření na obrázku SVG programově v C#:
- Vytvořte instanci SVGDocument a načtěte zdrojový soubor SVG.
- Zadejte adresu URL oboru názvů pro SVG a získejte přístup ke kořenovému prvku.
- Vytvořte filtrační prvek a prvek feGaussianBlur.
- Exportujte výstupní soubor SVG pomocí metody Uložit.
Následující ukázka kódu ukazuje, jak vytvořit filtr Gaussova rozostření na obrázku SVG v C#:
// Inicializujte objekt třídy SVGDocument
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument("complex.svg");
// 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 obrázku a přidejte jej do prvku 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);
// 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
Aspose.Svg.SVGFilterElement filterElement = (Aspose.Svg.SVGFilterElement)document.CreateElementNS(SvgNamespace, "filter");
defsElement.AppendChild(filterElement);
// Vytvořte prvek feGaussianBlur a přidejte jej do prvku 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);
// Uložte dokument SVG
document.Save(Path.Combine(dataDir, "gaussianBlur.svg"));
Získejte bezplatnou licenci API
Rozhraní API můžete vyhodnotit bez jakýchkoli omezení hodnocení, když požádáte o bezplatnou dočasnou licenci.
Závěr
V tomto článku jste prozkoumali a prozkoumali, jak vytvořit efekt filtru Gaussova rozostření na obrázku SVG programově v C#. Mezitím se můžete podívat do prostoru dokumentace a zkontrolovat různé funkce nabízené rozhraním API. Neváhejte a napište nám na fórum v případě, že potřebujete prodiskutovat jakékoli vaše obavy.