คุณเคยอยู่ในสถานการณ์ที่คุณต้องการบันทึกหรือดาวน์โหลดรูปภาพ SVG จากหน้าเว็บหรือจาก URL ที่เผยแพร่อยู่หรือไม่? Scalable Vector Graphics (SVG) เป็นรูปแบบภาพยอดนิยมที่ใช้บนหน้าเว็บ รูปภาพ SVG เป็นแบบเวกเตอร์ ซึ่งหมายความว่ารูปภาพเหล่านั้นประกอบด้วยวัตถุทางคณิตศาสตร์ที่สามารถปรับขนาดได้ทุกขนาดโดยไม่สูญเสียคุณภาพ ทำให้เป็นรูปแบบการจัดเก็บและแสดงภาพที่หลากหลายและมีประสิทธิภาพ ในบล็อกโพสต์นี้ เราจะพูดถึงวิธีแยก SVG จากเว็บไซต์ใน C#
บทความนี้ครอบคลุมหัวข้อต่อไปนี้:
- C# API เพื่อแยก SVG จากเว็บไซต์
- แยก SVG จากเว็บไซต์
- ดาวน์โหลดรูปภาพ SVG ภายนอกจากเว็บไซต์
- แหล่งเรียนรู้ฟรี
C# API เพื่อแยก SVG จากเว็บไซต์
เราจะใช้ Aspose.HTML for .NET เพื่อแยก SVG จากเว็บไซต์ ช่วยให้นักพัฒนาจัดการและประมวลผลเอกสาร HTML สามารถใช้เพื่อทำให้การจัดการ การแปลง หรือการวิเคราะห์เอกสาร HTML ภายในแอปพลิเคชัน .NET เป็นแบบอัตโนมัติ นักพัฒนาสามารถประหยัดเวลาและความพยายามด้วยการใช้โซลูชันที่พร้อมใช้งานสำหรับจัดการงานที่เกี่ยวข้องกับ HTML โดยทางโปรแกรม นอกจากนี้ยังอนุญาตให้แปลงหน้าเว็บและเอกสาร HTML เป็น รูปแบบที่รองรับ โดยไม่ต้องใช้ซอฟต์แวร์ภายนอก
โปรด ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet
PM> Install-Package Aspose.Html
แยก SVG จากเว็บไซต์ใน C#
เราสามารถแยกรูปภาพ SVG ทั้งหมดที่ฝังไว้โดยใช้นามสกุล <svg>
องค์ประกอบโดยทำตามขั้นตอนด้านล่าง:
- โหลดหน้าเว็บโดยใช้คลาส HTMLDocument
- อ่านรูปภาพ SVG แบบอินไลน์ทั้งหมดโดยใช้เมธอด GetElementsByTagName()
- สุดท้าย วนซ้ำรูปภาพทั้งหมดและบันทึกลงในระบบไฟล์ในเครื่อง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแยก SVG จากเว็บไซต์ใน C#
// ตัวอย่างโค้ดต่อไปนี้สาธิตวิธีการแยก SVG จากเว็บไซต์ใน C#
using Aspose.Html;
string OutputDir = "C:\\Files\\Internal\\";
// เปิดเอกสารที่คุณต้องการแยกรูปภาพ SVG ในบรรทัด
using var document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");
// รวบรวมรูปภาพ SVG แบบอินไลน์ทั้งหมด
var images = document.GetElementsByTagName("svg");
for (var i = 0; i < images.Length; i++)
{
// บันทึกภาพ SVG ทุกภาพลงในระบบไฟล์ในเครื่อง
File.WriteAllText(Path.Combine(OutputDir, $"{i}.svg"), images[i].OuterHTML);
}
ดาวน์โหลดรูปภาพ SVG ภายนอกจากเว็บไซต์ใน C#
เราสามารถแยกรูปภาพ SVG ทั้งหมดที่เก็บไว้นอกเอกสาร HTML และโหลดลงในเอกสารได้โดยทำตามขั้นตอนด้านล่าง:
- โหลดหน้าเว็บโดยใช้คลาส HTMLDocument
- อ่านรูปภาพ SVG แบบอินไลน์ทั้งหมดโดยใช้เมธอด GetElementsByTagName()
- สุดท้าย วนซ้ำรูปภาพทั้งหมดและบันทึกลงในระบบไฟล์ในเครื่อง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแยก SVG ที่ฝังไว้ภายนอกจากเว็บไซต์ใน C#
using Aspose.Html;
using Aspose.Html.Net;
// ไดเรกทอรีไฟล์
string OutputDir = "C:\\Files\\";
// เปิดเอกสารที่คุณต้องการแยก SVG ภายนอก
using var document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");
// รวบรวมองค์ประกอบภาพทั้งหมด
var images = document.GetElementsByTagName("img");
// สร้างคอลเล็กชัน URL รูปภาพที่เกี่ยวข้องกัน
var urls = images.Select(element => element.GetAttribute("src")).Distinct();
// กรองรูปภาพที่ไม่ใช่ SVG ออก
var svgUrls = urls.Where(url => url.EndsWith(".svg"));
// สร้าง URL รูปภาพ SVG ที่สมบูรณ์
var absUrls = svgUrls.Select(src => new Url(src, document.BaseURI));
foreach (var url in absUrls)
{
// สร้างคำขอแยกข้อมูล
using var request = new RequestMessage(url);
// แยก SVG
using var response = document.Context.Network.Send(request);
// ตรวจสอบว่าการตอบสนองสำเร็จหรือไม่
if (response.IsSuccess)
{
// บันทึกภาพ SVG ลงในระบบไฟล์ในเครื่อง
File.WriteAllBytes(Path.Combine(OutputDir, url.Pathname.Split('/').Last()), response.Content.ReadAsByteArray());
}
}
รับใบอนุญาตฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวฟรี เพื่อทดลองใช้ Aspose.HTML for .NET โดยไม่มีข้อจำกัดในการประเมิน
แยก SVG จากเว็บไซต์ – แหล่งข้อมูลการเรียนรู้
คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับการแยก SVG ออกจากเว็บไซต์และสำรวจคุณสมบัติอื่นๆ ของไลบรารีได้โดยใช้แหล่งข้อมูลด้านล่าง:
บทสรุป
ในบทความนี้ เราได้เรียนรู้วิธีแยก SVG จากเว็บไซต์ใน C# ความสามารถในการแยก SVG จากเว็บไซต์หรือหน้าเว็บจะนำมิติใหม่มาสู่ความคิดสร้างสรรค์ดิจิทัล ไม่ว่าจะเป็นการเก็บถาวรกราฟิกที่สร้างแรงบันดาลใจ การวิเคราะห์แนวโน้มการออกแบบ หรือการปรับปรุงโครงการของคุณเอง ขั้นตอนที่สรุปไว้ในบทความนี้แสดงให้เห็นว่ากระบวนการนี้ค่อนข้างง่ายและต้องใช้โค้ดเพียงไม่กี่บรรทัด ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรัมการสนับสนุนฟรี