רווית טקסט ב-SVG C#

רוויה בתמונה מתוארת כעוצמת הצבעים. לפעמים ייתכן שיהיה עליך להוסיף טקסט בתמונת SVG ולהרוות אותו. בהתאם לתרחישים כאלה, מאמר זה מכסה כיצד לבצע ריווי טקסט בתמונות SVG באופן תוכנתי ב-C#.

C# API להרוות טקסט בתמונת SVG - התקנה

Aspose.SVG for .NET API מסוגל ליצור או לתפעל תמונות SVG. אתה יכול להחיל מסננים שונים ולעבוד עם מאפיינים רבים של תמונות וקטור גרפי מדרגיות, כמו גם להמיר את תמונות ה-SVG לפורמטים נתמכים. פשוט הורד את הקובץ DLL או הפעל את פקודת ההתקנה הבאה של NuGet:

PM> Install-Package Aspose.SVG

כיצד להרוות טקסט בתמונת SVG ב-C#

אתה יכול להוסיף טקסט בתמונת SVG ולהרוות אותו עם השלבים הבאים:

  1. צור אובייקט מחלקה SVGDocument.
  2. צור אלמנט defs ופילטר.
  3. צור אלמנט feColorMatrix והוסף טקסט ל-SVG.
  4. שמור את תמונת הפלט SVG.

הסעיף הבא מרחיב יותר כיצד לבצע את השלבים הללו בקטע קוד C#:

הרווי טקסט בתמונת SVG באופן פרוגרמטי ב-C#

אתה יכול להרוות טקסט בתמונת SVG עם השלבים הבאים:

  1. צור אובייקט מחלקה SVGDocument.
  2. גש לרכיב הבסיס SVG והגדר את כתובת האתר של מרחב השמות.
  3. צור אובייקט מחלקה SVGDefsElement והוסף אותו לאלמנט SVG.
  4. אתחול מופע מחלקה SVGFEColorMatrixElement והגדר ערכים שונים.
  5. הגדר אובייקט מחלקה SVGTextElement והוסף טקסט ל-SVG.
  6. לבסוף, ייצא את תמונת הפלט SVG בשיטה Save().

קטע הקוד שלהלן מדגים כיצד ליצור אפקט רוויה עם מטריצת הצבע ב-C#:

// צור מופע של מחלקה SVGDocument
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument();

// הגדר את כתובת האתר של מרחב השמות של SVG
string SvgNamespace = "http://www.w3.org/2000/svg";
// קבל רכיב svg root של המסמך
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 בחינם

אתה יכול לבקש [רישיון זמני] בחינם16 כדי להעריך את כל התכונות של ה-API במלואה.

סיכום

במאמר זה, למדת כיצד להחיל רווית טקסט בתמונת SVG באופן תכנותי ב-C#. בעוד שאתה יכול להסתכל בסעיף תיעוד כדי ללמוד תכונות שונות אחרות הכלולות ב-API. במקרה שאתה רוצה לדון בחששות או אי בהירות שלך, אל תהסס לפנות אלינו בפורום התמיכה החינמית.

ראה גם