แปลง SVG เป็นรูปภาพ

ในบทความนี้ ฉันจะแสดงวิธีแปลงไฟล์ SVG เป็น PNG, JPEG, TIFF และรูปแบบภาพแรสเตอร์ยอดนิยมอื่นๆ โดยใช้ C# กับ .NET SVG API ของ Aspose

Aspose.SVG for .NET เป็น API ที่มีประสิทธิภาพสำหรับการประมวลผลไฟล์ SVG โดยใช้ C# หรือ VB.NET ช่วยให้คุณสามารถโหลด แยกวิเคราะห์ และแปลงไฟล์ SVG เป็นรูปแบบไฟล์อื่น ๆ ได้หลากหลาย ในบทความนี้ เราจะใช้ประโยชน์จากความสามารถของตัวแปลง API ของ Aspose.SVG for .NET และเรียนรู้วิธีดำเนินการแปลง SVG ต่อไปนี้:

C# SVG เป็น Image Converter - การติดตั้ง

Aspose.SVG for .NET โฮสต์บน NuGet และสามารถติดตั้งได้อย่างง่ายดายโดยใช้ NuGet Package Manager หรือคุณสามารถดาวน์โหลด DLL ของ API ได้จากส่วน ดาวน์โหลด

แปลง SVG เป็น PNG โดยใช้ C#

PNG เป็นรูปแบบภาพที่ได้รับความนิยมเนื่องจากมีการบีบอัดแบบไม่สูญเสียข้อมูล คุณสามารถเลือกแปลง SVG เป็น PNG ได้ในกรณีที่คุณต้องการภาพความละเอียดสูงโดยไม่สูญเสียคุณภาพ ต่อไปนี้เป็นขั้นตอนในการแปลง SVG เป็น PNG โดยใช้ Aspose.SVG for .NET

  • โหลดภาพ SVG โดยใช้คลาส SVGDocument
  • สร้างอินสแตนซ์ของคลาส ImageDevice เพื่อระบุรูปแบบภาพเอาต์พุตและเส้นทางของไฟล์
  • แสดงผล SVG เป็น PNG โดยใช้วิธี SVGDocument.RenderTo(ImageDevice)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแปลง SVG เป็น PNG โดยใช้ C#

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-svg/Aspose.SVG-for-.NET
string dataDir = RunExamples.GetDataDir_Data();

using (var document = new SVGDocument(Path.Combine(dataDir, "smiley.svg")))
{
    using (var device = new ImageDevice(new ImageRenderingOptions(ImageFormat.Png), dataDir + "smiley_out.png"))
    {
        document.RenderTo(device);
    }
}

แปลงภาพ SVG เป็น JPEG โดยใช้ C#

การแปลงรูปแบบ SVG เป็น JPEG มีประโยชน์เมื่อคุณต้องบีบอัดรูปภาพเพื่อลดขนาดไฟล์ JPEG รองรับการบีบอัดแบบสูญเสียซึ่งทำให้คุณภาพของภาพลดลง ในที่นี้ การบีบอัดที่สูงขึ้นหมายถึงคุณภาพของภาพที่ต่ำลง ต่อไปนี้เป็นขั้นตอนในการส่งออกไฟล์ SVG เป็นรูปภาพ JPEG

  • สร้างอินสแตนซ์ของ SVGDocument และโหลดไฟล์ SVG
  • สร้างและเริ่มต้นวัตถุ ImageDevice สำหรับภาพ JPEG ที่ส่งออก
  • บันทึก SVG เป็น JPEG โดยใช้วิธี SVGDocument.RenderTo(ImageDevice)

ตัวอย่างโค้ดต่อไปนี้แปลงไฟล์ SVG เป็นภาพ JPEG ใน C#

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-svg/Aspose.SVG-for-.NET
string dataDir = RunExamples.GetDataDir_Data();

using (var document = new SVGDocument(Path.Combine(dataDir, "smiley.svg")))
{
    using (var device = new ImageDevice(new ImageRenderingOptions(ImageFormat.Jpeg), dataDir + "smiley_out.jpg"))
    {
        document.RenderTo(device);
    }
}

แปลง SVG เป็น BMP โดยใช้ C#

รูปแบบ BMP อยู่ในธุรกิจมานานแล้วสำหรับการแสดงภาพดิจิทัล BMP เป็นที่รู้จักกันว่าเป็นรูปแบบที่ไม่ขึ้นกับอุปกรณ์ซึ่งสามารถเปิดได้บนหลายแพลตฟอร์ม เช่น Windows, Mac เป็นต้น ต่อไปนี้เป็นขั้นตอนในการแปลง SVG เป็น BMP โดยใช้ Aspose.SVG for .NET

  • ใช้ SVGDocument เพื่อโหลดไฟล์ SVG ที่คุณต้องการแปลง
  • ใช้คลาส ImageDevice เพื่อระบุรูปแบบเอาต์พุตและพาธของไฟล์
  • แสดงผล SVG เป็น BMP โดยใช้วิธี SVGDocument.RenderTo(ImageDevice)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีบันทึก SVG เป็น BMP โดยใช้ C#

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-svg/Aspose.SVG-for-.NET
string dataDir = RunExamples.GetDataDir_Data();

using (var document = new SVGDocument(Path.Combine(dataDir, "smiley.svg")))
{
    using (var device = new ImageDevice(new ImageRenderingOptions(ImageFormat.Bmp), dataDir + "smiley_out.bmp"))
    {
        document.RenderTo(device);
    }
}

แปลง SVG เป็น TIFF โดยใช้ C#

TIFF เป็นอีกรูปแบบที่นิยมสำหรับภาพดิจิตอลที่รองรับการบีบอัดทั้งแบบสูญเสียและไม่สูญเสีย เป็นที่นิยมในหมู่ศิลปินกราฟิก อุตสาหกรรม และช่างภาพ ในการผลิตภาพที่มีความละเอียดสูง/คุณภาพสูง ต่อไปนี้เป็นขั้นตอนสำหรับการแปลง SVG เป็น TIFF

  • โหลดไฟล์ SVG โดยใช้คลาส SVGDocument
  • สร้างและเริ่มต้นวัตถุ ImageDevice สำหรับภาพ TIFF เอาต์พุต
  • บันทึก SVG เป็น TIFF โดยใช้วิธี SVGDocument.RenderTo(ImageDevice)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเรนเดอร์ไฟล์ SVG เป็นภาพ TIFF โดยใช้ C#

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-svg/Aspose.SVG-for-.NET
string dataDir = RunExamples.GetDataDir_Data();

using (var document = new SVGDocument(Path.Combine(dataDir, "smiley.svg")))
{
    using (var device = new ImageDevice(new ImageRenderingOptions(ImageFormat.Tiff), dataDir + "smiley_out.tiff"))
    {
        document.RenderTo(device);
    }
}

แปลง SVG เป็น GIF โดยใช้ C#

GIF เป็นรูปแบบภาพแรสเตอร์อีกรูปแบบหนึ่งที่รองรับคุณสมบัติการบีบอัดสูง หนึ่งในกรณีการใช้งานยอดนิยมของภาพ GIF คือการแสดงภาพเคลื่อนไหวที่เกิดจากการรวมภาพหลายภาพเป็นไฟล์ GIF ไฟล์เดียว ต่อไปนี้เป็นขั้นตอนในการแปลงไฟล์ SVG เป็นภาพ GIF

  • สร้างอินสแตนซ์ของคลาส SVGDocument สำหรับการโหลดไฟล์ SVG ต้นทาง
  • ใช้คลาส ImageDevice เพื่อระบุรูปแบบและเส้นทางของภาพที่ส่งออก
  • บันทึก SVG เป็น GIF โดยใช้วิธี SVGDocument.RenderTo(ImageDevice)

ตัวอย่างโค้ดต่อไปนี้สาธิตการแปลง SVG เป็น GIF โดยใช้ C#

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-svg/Aspose.SVG-for-.NET
string dataDir = RunExamples.GetDataDir_Data();

using (var document = new SVGDocument(Path.Combine(dataDir, "smiley.svg")))
{
    using (var device = new ImageDevice(new ImageRenderingOptions(ImageFormat.Gif), dataDir + "smiley_out.gif"))
    {
        document.RenderTo(device);
    }
}

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีส่งออกไฟล์ SVG เป็นรูปแบบรูปภาพยอดนิยมโดยใช้ C# คำแนะนำทีละขั้นตอนและตัวอย่างโค้ดสาธิตวิธีแปลงภาพ SVG เป็น PNG, JPEG, BMP, TIFF และ GIF คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับไลบรารี C# SVG โดยใช้ เอกสารประกอบ

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

เคล็ดลับ: คุณอาจต้องการตรวจสอบบริการ Aspose Text to GIF ที่ช่วยให้คุณสร้างภาพเคลื่อนไหวที่สวยงามเพียงแค่พิมพ์