אפקט הצללית SVG C#

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

אפקט צל על תמונת SVG - C# API הורדה בחינם

Aspose.SVG for .NET תומך בעבודה עם תמונות SVG מכיוון שהוא מציע תכונות רבות לעריכה, עדכון או המרת גרפיקה וקטורית ניתנת להרחבה באופן תוכניתי ב-C#. כל שעליך לעשות הוא לגשת לקבצי ה-DLL הפניה מהדף מהדורות חדשות, או להפעיל את הפקודה NuGet למטה כדי להגדיר אותה מגלריית NuGet, יחד עם כל התלות, אם בכלל.

PM> Install-Package Aspose.SVG

כיצד ליצור אפקט צל על תמונת SVG ב-C#

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

  1. צור אובייקט של המחלקה SVGDocument.
  2. הגדר את כתובת ה-URL של מרחב השמות של SVG וקבל אלמנט SVG שורש.
  3. צור אלמנט defs ו-filterElement כדי להוסיף פרימיטיבי מסנן feOffset.
  4. צור מסנן feBlend ואלמנט טקסט.
  5. שמור את תמונת הפלט SVG עם אפקט Drop Shadow על ידי קריאה לשיטת Save.

צור אפקט צל על תמונת SVG באופן פרוגרמטי ב-C#

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

  1. צור אובייקט מהמחלקה SVGDocument.
  2. הגדר את כתובת ה-URL של מרחב השמות של SVG וקבל אלמנט SVG שורש.
  3. צור אלמנט defs ו-filterElement כדי להוסיף פרימיטיבי מסנן feOffset.
  4. צור מסנן feBlend ואלמנט טקסט.
  5. שמור את תמונת הפלט SVG עם אפקט Drop Shadow על ידי קריאה לשיטת Save.

קטע הקוד שלהלן מראה כיצד ליצור אפקט צל על תמונת SVG ב-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);

// צור פרימיטיבי מסנן feOffset והוסף ל-filterElement
var feOffsetElement = (Aspose.Svg.Filters.SVGFEOffsetElement)document.CreateElementNS(SvgNamespace, "feOffset");
feOffsetElement.In1.BaseVal = "SourceAlpha";
feOffsetElement.SetAttribute("result", "offset");
feOffsetElement.SetAttribute("dx", "3");
feOffsetElement.SetAttribute("dy", "3");
filterElement.AppendChild(feOffsetElement);

//// צור פרימיטיבי מסנן feGaussianBlur והוסף ל-filterElement
//var feGaussianBlurElement = (Aspose.Svg.Filters.SVGFEGaussianBlurElement)document.CreateElementNS(SvgNamespace, "feGaussianBlur");
//feGaussianBlurElement.In1.BaseVal = "היסט";
//feGaussianBlurElement.StdDeviationX.BaseVal = 3;
//feGaussianBlurElement.StdDeviationY.BaseVal = 3;
//feGaussianBlurElement.SetAttribute("result", "blur");
//filterElement.AppendChild(feGaussianBlurElement);

// צור פרימיטיבי מסנן feBlend והוסף ל-filterElement
var feBlendElement = (Aspose.Svg.Filters.SVGFEBlendElement)document.CreateElementNS(SvgNamespace, "feBlend");
feBlendElement.In1.BaseVal = "SourceGraphic";
feBlendElement.In2.BaseVal = "blur";
feBlendElement.SetAttribute("mode", "normal");
filterElement.AppendChild(feBlendElement);

// צור אלמנט טקסט והוסף ל-svgElement
var textElement = (Aspose.Svg.SVGTextElement)document.CreateElementNS(SvgNamespace, "text");
textElement.Style.FontSize = "5em";
textElement.SetAttribute("x", "20px");
textElement.SetAttribute("fill", "#C0C0C0");
textElement.SetAttribute("y", "100px");
textElement.TextContent = "Aspose.SVG API";
textElement.SetAttribute("filter", "url(#shadow)");
svgElement.InsertBefore(textElement, svgElement.FirstChild);

// שמור את מסמך ה-SVG
document.Save(Path.Combine(dataDir, "DropShadow.svg"));

שים לב שמספר שורות קוד מוזכרות בקטע הקוד שלמעלה. אתה יכול לבחור לבטל את ההערה כדי להחיל את אפקט הטשטוש הגאוסי על הצללית אם אתה מעדיף אפקט צללית מטושטש שגורם לפלט להתבלט עם צללית חלקה יותר.

קבל רישיון זמני בחינם

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

סיכום

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

ראה גם