اشباع متن در SVG C#

اشباع در یک تصویر به عنوان شدت رنگ ها توصیف می شود. گاهی اوقات ممکن است لازم باشد متنی را در یک تصویر SVG اضافه کنید و آن را اشباع کنید. مطابق با چنین سناریوهایی، این مقاله نحوه اجرای اشباع متن در تصاویر SVG را به صورت برنامه‌نویسی در سی شارپ پوشش می‌دهد.

C# API برای اشباع متن در تصویر SVG - نصب

Aspose.SVG for .NET API قادر به ایجاد یا دستکاری تصاویر SVG است. می‌توانید فیلترهای مختلفی را اعمال کنید و با بسیاری از ویژگی‌های تصاویر Scalable Vector Graphic کار کنید، و همچنین تصاویر SVG را به [فرمت‌های پشتیبانی شده] تبدیل کنید. به سادگی فایل DLL را دانلود کنید یا دستور نصب NuGet زیر را اجرا کنید:

PM> Install-Package Aspose.SVG

نحوه اشباع متن در تصویر SVG در سی شارپ

می توانید متن را در یک تصویر SVG وارد کنید و با مراحل زیر آن را اشباع کنید:

  1. یک شی کلاس SVGDocument ایجاد کنید.
  2. یک عنصر defs و filter ایجاد کنید.
  3. یک عنصر feColorMatrix ایجاد کنید و متن را به SVG اضافه کنید.
  4. تصویر خروجی SVG را ذخیره کنید.

در بخش زیر نحوه انجام این مراحل در قطعه کد C# بیشتر توضیح داده شده است:

اشباع کردن متن در تصویر SVG به صورت برنامه نویسی در سی شارپ

با مراحل زیر می توانید متن را در یک تصویر SVG اشباع کنید:

  1. یک شی کلاس SVGDocument ایجاد کنید.
  2. به عنصر root SVG دسترسی پیدا کنید و URL فضای نام را تنظیم کنید.
  3. یک شی کلاس SVGDefsElement ایجاد کنید و آن را به عنصر SVG اضافه کنید.
  4. یک نمونه کلاس SVGFEColorMatrixElement را راه اندازی کنید و مقادیر متفاوتی را تنظیم کنید.
  5. یک شی کلاس SVGTextElement تعریف کنید و متن را به SVG اضافه کنید.
  6. در نهایت، تصویر خروجی SVG را با روش Save() صادر کنید.

قطعه کد زیر نحوه ایجاد افکت اشباع با ماتریس رنگ در سی شارپ را نشان می دهد:

// یک نمونه از کلاس SVGDocument ایجاد کنید
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument();

// URL فضای نام SVG را تنظیم کنید
string SvgNamespace = "http://www.w3.org/2000/svg";
// عنصر root svg سند را دریافت کنید
Aspose.Svg.SVGSVGElement svgElement = document.RootElement;


// یک عنصر defs ایجاد کنید و به svgElement اضافه کنید
Aspose.Svg.SVGDefsElement defsElement = (Aspose.Svg.SVGDefsElement)document.CreateElementNS(SvgNamespace, "defs");
svgElement.AppendChild(defsElement);

// یک عنصر فیلتر ایجاد کنید و به 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);


// یک عنصر feColorMatrix ایجاد کنید
var feColorMatrixElement = (Aspose.Svg.Filters.SVGFEColorMatrixElement)document.CreateElementNS(SvgNamespace, "feColorMatrix");
feColorMatrixElement.In1.BaseVal = "SourceGraphic";
feColorMatrixElement.SetAttribute("type", "saturate");
feColorMatrixElement.SetAttribute("values", "0.2");
filterElement.AppendChild(feColorMatrixElement);

// یک عنصر متنی ایجاد کنید و به svgElement اضافه کنید
var textElement = (Aspose.Svg.SVGTextElement)document.CreateElementNS(SvgNamespace, "text");
textElement.Style.FontSize = "5em";
textElement.SetAttribute("x", "20px");
textElement.SetAttribute("fill", "blue");
textElement.SetAttribute("y", "100px");
textElement.TextContent = "Aspose.SVG for .NET API";
textElement.SetAttribute("filter", "url(#shadow)");
svgElement.InsertBefore(textElement, svgElement.FirstChild);

// سند SVG را ذخیره کنید
document.Save(Path.Combine(dataDir, "TextSaturation.svg"));

مجوز API رایگان دریافت کنید

می‌توانید برای ارزیابی تمام ویژگی‌های API با ظرفیت کامل، [مجوز موقت رایگان] درخواست کنید.

نتیجه

در این مقاله نحوه اعمال اشباع متن در یک تصویر SVG را به صورت برنامه نویسی در سی شارپ یاد گرفتید. در حالی که، برای یادگیری ویژگی‌های مختلف موجود در API، می‌توانید به بخش اسناد نگاهی بیندازید. در صورتی که می‌خواهید در مورد هر یک از نگرانی‌ها یا ابهامات خود صحبت کنید، لطفاً با ما در [تالار گفتمان پشتیبانی رایگان18 تماس بگیرید.

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