تفقد التنقل svg

SVG تُستخدم الصور بشكل شائع عبر الويب ، خاصة عندما تكون قابلية التوسع وجودة الصور مهمة. يمكنك فحص عناصر صور SVG أو استخراجها أو التنقل فيها برمجيًا باستخدام C#. دعنا نستكشف الأقسام التالية لمزيد من التفاصيل:

فحص SVG أو التنقل في C# - تثبيت API

Aspose.SVG for .NET تدعم واجهة برمجة التطبيقات إنشاء ملفات SVG أو تحريرها أو تحويلها. يمكنك تنزيل ملف DLL بتنسيق ZIP من قسم التنزيلات. يمكنك أيضًا تكوينه عبر NuGet Package Manager في Microsoft Visual Studio. يمكن استخدام أمر تثبيت NuGet التالي لتكوينه:

PM> Install-Package Aspose.SVG

افحص مستند SVG وعناصره

تعتمد عدة طرق في Aspose.SVG لـ .NET API على مواصفات اجتياز العناصر وفقًا لـ W3C. يمكنك فحص ملف SVG بالتفصيل باتباع الخطوات التالية:

  1. قم بتحميل ملف SVG للإدخال.
  2. تحميل عناصر مختلفة بكائن DocumentElement.
  3. الوصول إلى قيمة أي عقار.

يشرح الكود أدناه كيفية فحص مستندات SVG وعناصرها المختلفة برمجيًا باستخدام C#:

// قم بتحميل مستند
string documentPath = Path.Combine(DataDir, "shapes.svg");
    
using (var document = new SVGDocument(documentPath))
{
    var element = document.DocumentElement;
    Console.WriteLine(element.TagName); // svg
        
    element = element.LastElementChild;
    Console.WriteLine(element.TagName); // g
    
    element = element.FirstElementChild;
    Console.WriteLine(element.TagName); // rect
}

استخراج المعلومات حول عناصر SVG المحددة

يتكون ملف صورة SVG من عدة عناصر ضمن عنصر جذر. تعرض فئة SVGDocument طرقًا مختلفة لاستخراج معلومات حول عناصر SVG محددة ، على سبيل المثال ، ParentElement و GetElementsByClassName. دعنا نتبع الخطوات أدناه لاستخراج معلومات حول عناصر SVG محددة:

  1. قم بتحميل صورة SVG للإدخال.
  2. الوصول إلى السمة DocumentElement.
  3. اقرأ أي عنصر محدد.

يوضح الكود التالي كيفية استخراج المعلومات حول عنصر SVG محدد برمجيًا باستخدام C#:

//قم بتحميل مستند من ملف
string documentPath = Path.Combine(DataDir, "shapes.svg");
    
using (var document = new SVGDocument(documentPath))
{
    // احصل على عنصر svg الجذر للمستند
    var svg = document.DocumentElement;
    	
    // ابحث عن أول عنصر فرعي باسم علامة معينة
    var g = svg.GetElementsByTagName("g").First() as SVGGElement;
    			
    var rect = g.FirstElementChild as SVGRectElement;
    
    Console.WriteLine("Height: {0}", rect.Height);// 90
    Console.WriteLine("Width: {0}", rect.Width); // 100
}

بالنسبة لهذا العرض التوضيحي ، فقد درسنا العمل مع ملف شكل. svg.

انتقل إلى SVG باستخدام XPath Query

يتم استخدام لغة استعلام XPath لتحديد العقد من المستندات المستندة إلى XML. توضح الخطوات التالية كيفية التنقل في عقد ملف صورة SVG باستخدام XPath Query:

  • قم بتحميل ملف SVG المصدر.
  • تقييم XPath expression.
  • تقييم والحصول على العقدة التالية.

يوضح الكود أدناه كيف تتيح لك هذه الخطوات التنقل عبر عقد SVG برمجيًا باستخدام لغة C#:

using Aspose.Svg;
using System.IO;
using Aspose.Svg.Dom;
using Aspose.Svg.Collections;
...     

using (var document = new SVGDocument(Path.Combine(DataDir, "shapes.svg")))
{
    //  تقييم تعبير XPath
    var xpathResult = document.Evaluate("//rect[@x='120']", document, null, (Dom.XPath.XPathResultType)XPathResultType.Any, null);

    //  احصل على العقدة التالية التي تم تقييمها
    Console.WriteLine((xpathResult.IterateNext() as Element)?.OuterHTML);		  
}

استنتاج

في هذه المقالة ، اكتشفنا كيفية فحص ملف SVG وعناصره. وبالمثل ، تتم أيضًا مناقشة استخراج المعلومات من ملفات SVG والتنقل عبر عقد SVG باستخدام XPath Query. علاوة على ذلك ، يمكنك معرفة المزيد من خلال قراءة الوثائق. لا تتردد في التواصل معنا على منتدى الدعم المجاني. سنكون سعداء لمساعدتك وإرشادك!

أنظر أيضا