Изображения в формате SVG или масштабируемой векторной графики популярны благодаря своей масштабируемости и качественным характеристикам. Вы можете применить несколько фильтров к изображениям SVG в зависимости от ваших требований. чтобы размыть и сгладить изображение SVG, вы можете применить фильтр размытия по Гауссу. После таких случаев использования в этой статье обсуждается, как создать фильтр размытия по Гауссу для изображения SVG программными средствами на C#.
- Фильтр размытия по Гауссу на изображении SVG — Загрузка C# API
- Как создать фильтр размытия по Гауссу на изображении SVG в C#
- Создайте фильтр размытия по Гауссу на изображении SVG программно в С#
Фильтр размытия по Гауссу на изображении SVG — Загрузка C# API
Aspose.SVG для .NET можно использовать для создания или редактирования файлов масштабируемой векторной графики программным способом на C#. Вы можете быстро загрузить файлы DLL из раздела Загрузки или использовать следующую команду установки NuGet в Microsoft Visual Studio IDE:
PM> Install-Package Aspose.SVG
Как создать фильтр размытия по Гауссу на изображении SVG в C#
Вы можете создать фильтр размытия по Гауссу на изображении SVG, выполнив следующие действия:
- Инициализируйте объект класса SVGDocument и задайте URL-адрес пространства имен SVG.
- Создайте элемент изображения и элемент фильтра.
- Добавьте графический элемент.
- Создайте элемент feGaussianBlur и добавьте его в filterElement.
- Сохраните выходное изображение SVG.
Создайте фильтр размытия по Гауссу на изображении SVG программно в С#
Следующие шаги можно использовать для создания фильтра размытия по Гауссу на изображении SVG программным способом на C#:
- Создайте экземпляр SVGDocument и загрузите исходный файл SVG.
- Укажите URL-адрес пространства имен для SVG и получите доступ к корневому элементу.
- Создайте фильтрующий элемент и элемент feGaussianBlur.
- Экспортируйте полученный SVG-файл методом Сохранить.
В следующем примере кода показано, как создать фильтр размытия по Гауссу для изображения 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. Пожалуйста, не стесняйтесь писать нам на форум, если вам нужно обсудить какие-либо вопросы.