Gaussian Blur Filter SVG C#

تصاویر SVG یا Scalable Vector Graphic به دلیل مقیاس پذیری و ویژگی های کیفی محبوب هستند. بر اساس نیاز خود می توانید چندین فیلتر را روی تصاویر SVG اعمال کنید. برای محو کردن و صاف کردن یک تصویر SVG، می‌توانید از فیلتر تاری گاوسی استفاده کنید. پس از چنین موارد استفاده، این مقاله نحوه ایجاد یک فیلتر گاوسی تاری بر روی یک تصویر SVG به صورت برنامه‌نویسی در C# را مورد بحث قرار می‌دهد.

فیلتر Gaussian Blur در تصویر SVG – دانلود API C#

Aspose.SVG for .NET می تواند برای ایجاد یا ویرایش فایل های Scalable Vector Graphic به صورت برنامه نویسی در C# استفاده شود. می‌توانید فایل‌های DLL را به سرعت از بخش Downloads دانلود کنید یا از دستور نصب NuGet زیر در Microsoft Visual Studio IDE استفاده کنید:

PM> Install-Package Aspose.SVG

نحوه ایجاد فیلتر Gaussian Blur در تصویر SVG در سی شارپ

با دنبال کردن مراحل زیر می‌توانید یک فیلتر گاوسی تاری روی یک تصویر SVG ایجاد کنید:

  1. یک شی کلاس SVGDocument را راه اندازی کنید و URL فضای نام SVG را تنظیم کنید.
  2. یک عنصر تصویر و یک عنصر فیلتر ایجاد کنید.
  3. المان گرافیکی را اضافه کنید.
  4. یک عنصر feGaussianBlur ایجاد کنید و آن را به filterElement اضافه کنید.
  5. تصویر خروجی SVG را ذخیره کنید.

ایجاد فیلتر Gaussian Blur روی تصویر SVG به صورت برنامه نویسی در سی شارپ

مراحل زیر را می توان برای ایجاد یک فیلتر گاوسی تاری روی یک تصویر SVG به صورت برنامه نویسی در سی شارپ استفاده کرد:

  1. یک نمونه SVGDocument ایجاد کنید و فایل SVG منبع را بارگیری کنید.
  2. URL فضای نام را برای SVG مشخص کنید و به عنصر ریشه دسترسی پیدا کنید.
  3. یک عنصر فیلتر و عنصر feGaussianBlur ایجاد کنید.
  4. فایل SVG خروجی را با روش Save صادر کنید.

نمونه کد زیر نحوه ایجاد فیلتر گاوسی تاری روی یک تصویر SVG در سی شارپ را نشان می دهد:

// یک شی کلاس SVGDocument را راه اندازی کنید
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument("complex.svg");

// URL فضای نام SVG را تنظیم کنید
string SvgNamespace = "http://www.w3.org/2000/svg";

// عنصر root 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 به صورت برنامه ریزی شده در سی شارپ را بررسی و بررسی کرده اید. در حالی که، می توانید برای بررسی ویژگی های مختلف ارائه شده توسط API، به فضای اسناد نگاهی بیندازید. لطفاً در صورت نیاز به بحث در مورد هر یک از نگرانی‌های خود، در [فروم10 برای ما بنویسید.

همچنین ببینید