
SVG (Scalable Vector Graphics) เป็นรูปแบบที่ใช้กันอย่างแพร่หลายสำหรับกราฟิกแบบเวกเตอร์ แม้ว่า SVG จะมีความสามารถในการขยายขนาดและการเรนเดอร์ที่มีคุณภาพสูง แต่คุณอาจต้องแปลงไฟล์ SVG เป็นรูปแบบภาพแบบแรสเตอร์ เช่น JPG หรือ PNG เพื่อความเข้ากันได้ที่กว้างขึ้น เช่น การฝังในรายงาน, หน้าเว็บ, หรือแอปพลิเคชันมือถือ ในโพสต์บล็อกนี้ เราจะแนะนำคุณถึงขั้นตอนในการแปลง SVG เป็น JPG และ PNG ใน C#
SVG to Image Converter - C# API Installation
ในการแปลง SVG เป็นรูปแบบภาพแรสเตอร์ คุณต้องติดตั้ง Conholdate.Total for .NET จาก New Releases หรือรันคำสั่งติดตั้ง NuGet ต่อไปนี้:
PM> NuGet\Install-Package Conholdate.Total
ทำไมต้องแปลง SVG เป็นรูปแบบภาพ?
มีเหตุผลหลายประการที่นักพัฒนาและนักออกแบบจำเป็นต้องแปลงไฟล์ SVG ไปยังรูปแบบภาพแบบแรสเตอร์ เช่น JPG และ PNG:
- ความเข้ากันได้: แอปพลิเคชันและแพลตฟอร์มหลายตัวไม่รองรับ SVG แต่รองรับ JPG หรือ PNG ได้อย่างง่ายดาย
- ประสิทธิภาพ: รูปภาพแรสเตอร์จะเรนเดอร์ได้เร็วขึ้นในบางแพลตฟอร์มและใช้พลังงานในการประมวลผลน้อยกว่าการเรนเดอร์ SVG แบบไดนามิก
- การพิมพ์: SVG อาจสูญเสียรายละเอียดหรือไม่สามารถเรนเดอร์ได้อย่างถูกต้องในรูปแบบการพิมพ์ ในขณะที่ PNG และ JPG จะให้คุณภาพที่พร้อมสำหรับการพิมพ์
- การรวม: รูปภาพแบบแรสเตอร์มักจะง่ายต่อการฝังลงในเอกสาร อีเมล และการนำเสนอสื่อมัลติมีเดีย
ตอนนี้ มาดำน้ำไปในการใช้งานกันเถอะ
แปลง SVG เป็น JPG ใน C#
คุณสามารถแปลง SVG เป็นรูปแบบ JPG ใน C# โดยทำตามขั้นตอนดังต่อไปนี้:
- Load any input SVG or define the SVG code.
- ระบุเส้นทางที่ไฟล์ JPG จะถูกบันทึก
- ใช้ ImageSaveOptions เพื่อตั้งค่ารูปแบบการส่งออกเป็น JPEG.
- Call ConvertSVG to process the conversion.
ตัวอย่างต่อไปนี้แสดงให้เห็นว่าจะแปลง SVG เป็น JPG ใน C#:
// Prepare SVG code
var code = "<svg xmlns='http://www.w3.org/2000/svg'>" +
"<circle cx ='100' cy ='100' r ='55' fill='green' stroke='red' stroke-width='10' />" +
"</svg>";
// เตรียมเส้นทางสำหรับการบันทึกไฟล์ที่แปลงแล้ว
string savePath = Path.Combine(dataDir, "svgtojpgimage.jpg");
// สร้างอินสแตนซ์ของคลาส ImageSaveOptions
var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg);
// แปลง SVG เป็น JPG
Aspose.Html.Converters.Converter.ConvertSVG(code, ".", options, savePath);
แปลง SVG เป็น PNG รูปภาพใน C#
สำหรับการแปลง SVG เป็น PNG กระบวนการจะคล้ายกัน แต่ต้องเปลี่ยนรูปแบบเอาต์พุตเป็น PNG:
- อ่าน SVG ที่เป็นแหล่งข้อมูลหรือสร้างภาพ SVG ใด ๆ
- Provide the file path to write the PNG file.
- สร้างอินสแตนซ์ของคลาส ImageSaveOptions และระบุ PNG เป็นรูปแบบที่ต้องการ
- แปลง SVG เป็น PNG ด้วยวิธี ConvertSVG
โค้ดตัวอย่างด้านล่างแสดงวิธีการแปลง SVG เป็น PNG ใน C#:
// Prepare SVG code
var code = "<svg xmlns='http://www.w3.org/2000/svg'>" +
"<circle cx ='100' cy ='100' r ='55' fill='green' stroke='red' stroke-width='10' />" +
"</svg>";
// เตรียมเส้นทางสำหรับการบันทึกไฟล์ที่แปลงแล้ว
string savePath = Path.Combine(dataDir, "image.png");
// สร้างอินสแตนซ์ของคลาส ImageSaveOptions
var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Png);
// แปลง SVG เป็น PNG
Aspose.Html.Converters.Converter.ConvertSVG(code, ".", options, savePath);
ใบอนุญาตการประเมินผลฟรี
คุณสามารถขอรับ free temporary license เพื่อทดสอบ API ให้เต็มขีดความสามารถได้
สรุป
การแปลง SVG เป็นรูปแบบภาพราสเตอร์ เช่น JPG และ PNG เป็นความต้องการทั่วไปในแอปพลิเคชันต่างๆ ไม่ว่าคุณจะต้องการภาพคุณภาพสูงสำหรับแอปพลิเคชันเว็บ, รายงาน หรือโครงการมัลติมีเดีย โค้ดตัวอย่างที่ให้มารับประกันการแปลง SVG เป็นภาพอย่างเชื่อถือได้ หากมีข้อกังวลใดๆ กรุณาเขียนถึงเราที่ forum.