Фільтр розмиття Гауса SVG C#

Зображення SVG або Scalable Vector Graphic популярні завдяки своїй масштабованості та якісним характеристикам. Ви можете застосувати кілька фільтрів до зображень SVG відповідно до ваших вимог. щоб розмити та згладити зображення SVG, ви можете застосувати фільтр розмиття Гауса. Дотримуючись таких випадків використання, у цій статті обговорюється, як створити фільтр розмиття Гауса на зображенні SVG програмним шляхом у C#.

Застосування фільтра Gaussian Blur до зображення – встановлення C# API

Aspose.SVG for .NET можна використовувати для програмного створення або редагування масштабованих векторних графічних файлів у C#. Ви можете швидко завантажити файли DLL із розділу Завантаження або використати таку команду інсталяції NuGet у Microsoft Visual Studio IDE:

PM> Install-Package Aspose.SVG

Як створити фільтр Gaussian Blur на зображенні SVG у C#

Ви можете створити фільтр розмиття за Гаусом на зображенні SVG, виконавши наведені нижче дії.

  1. Ініціалізуйте об’єкт класу SVGDocument і встановіть URL-адресу простору імен SVG.
  2. Створіть елемент зображення та елемент фільтра.
  3. Додайте графічний елемент.
  4. Створіть елемент feGaussianBlur і додайте його до filterElement.
  5. Збережіть вихідне зображення SVG.

Створення фільтра Gaussian Blur на зображенні SVG програмним способом у C#

Щоб програмно створити фільтр розмиття за Гаусом на зображенні SVG у C#, можна виконати такі кроки:

  1. Створіть екземпляр SVGDocument і завантажте вихідний файл SVG.
  2. Укажіть URL-адресу простору імен для SVG і отримайте доступ до кореневого елемента.
  3. Створіть елемент фільтра та елемент feGaussianBlur.
  4. Експортуйте вихідний файл SVG за допомогою методу Save.

У наведеному нижче прикладі коду показано, як створити фільтр розмиття за Гаусом на зображенні SVG у C#:

// Ініціалізація об’єкта класу SVGDocument
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument("complex.svg");

// Установити URL-адресу простору імен SVG
string SvgNamespace = "http://www.w3.org/2000/svg";

// Отримати кореневий елемент svg документа
Aspose.Svg.SVGSVGElement svgElement = document.RootElement;

// Створіть елемент зображення та додайте його до 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);

// Створіть елемент defs і додайте його до svgElement
Aspose.Svg.SVGDefsElement defsElement = (Aspose.Svg.SVGDefsElement)document.CreateElementNS(SvgNamespace, "defs");
svgElement.AppendChild(defsElement);

// Створіть елемент фільтра та додайте його до елемента defsElement
Aspose.Svg.SVGFilterElement filterElement = (Aspose.Svg.SVGFilterElement)document.CreateElementNS(SvgNamespace, "filter");
defsElement.AppendChild(filterElement);

// Створіть елемент feGaussianBlur і додайте його до 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);

// Збережіть документ SVG
document.Save(Path.Combine(dataDir, "gaussianBlur.svg"));

Отримайте безкоштовну ліцензію API

Ви можете оцінити API без будь-яких обмежень оцінки, надіславши запит на безкоштовну тимчасову ліцензію.

Висновок

У цій статті ви дослідили та дослідили, як створити ефект фільтра Гаусового розмиття на зображенні SVG програмним шляхом у C#. Тоді як ви можете переглянути розділ документація, щоб перевірити різні функції, які пропонує API. Будь ласка, напишіть нам на форум, якщо вам знадобиться обговорити будь-які ваші проблеми.

Дивись також