ตรวจสอบการนำทาง svg

SVG รูปภาพเป็นที่นิยมใช้ทางเว็บ โดยเฉพาะอย่างยิ่งเมื่อความสามารถในการปรับขนาดและคุณภาพของรูปภาพมีความสำคัญ คุณสามารถตรวจสอบ แยก หรือนำทางองค์ประกอบภาพ SVG โดยทางโปรแกรมด้วย C# ให้เราสำรวจส่วนต่อไปนี้เพื่อดูรายละเอียดเพิ่มเติม:

การตรวจสอบ SVG หรือการนำทางใน C# - การติดตั้ง API

Aspose.SVG for .NET API รองรับการสร้าง แก้ไข หรือแปลงไฟล์ SVG คุณสามารถดาวน์โหลดไฟล์ DLL เป็น ZIP ได้จากส่วน ดาวน์โหลด คุณยังสามารถกำหนดค่าผ่าน NuGet Package Manager ใน Microsoft Visual Studio ต่อไปนี้คำสั่งการติดตั้ง NuGet สามารถใช้เพื่อกำหนดค่าได้:

PM> Install-Package Aspose.SVG

ตรวจสอบเอกสาร SVG และองค์ประกอบต่างๆ

หลายวิธีใน Aspose.SVG for .NET API อิงตาม Element Traversal Specifications ตาม 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))
{
    // รับองค์ประกอบ root 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
}

สำหรับการสาธิตนี้ เราได้พิจารณาการทำงานกับไฟล์ shapes.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 ก็ได้รับการกล่าวถึงเช่นกัน นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมได้โดยอ่าน เอกสารประกอบ ติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี เรายินดีที่จะช่วยเหลือและแนะนำคุณ!

ดูสิ่งนี้ด้วย